두 개의 서블릿 AServlet
과 BServlet
을 가진 웹 애플리케이션 A.war가 있습니다. 둘 다 도우미 클래스 com.mycompany.Foo.class
을 인스턴스화합니다 (이것은 제 3 자 라이브러리가 아닌 제 클래스입니다).2 개의 WAR에 같은 클래스가있을 때 JBoss 클래스 로딩
이제 두 개의 서블릿을 두 개의 분리 된 WAR로 분할하려고합니다. A.war에만 AServlet 만 있고 새로운 B.war에는 BServlet
이 있습니다. AServlet
은 HTTP GET을 통해 BServlet
을 호출합니다. 두 WAR 모두 com.mycompany.Foo.class
이됩니다. 동일한 JBoss 인스턴스에 두 WAR를 모두 배포하려고합니다.
문제는 동일한 클래스가 WAR와 동일한 JBoss 인스턴스에 배포되는 WAR로 인해 클래스로드 문제가 있을까요?
일반적인 클래스이므로 어디서 얻었습니까? 항아리에 있어야합니까? 클래스는 공통 클래스이며 클래스/디렉토리 또는 lib/ .jar의 두 응용 프로그램에 별도로 배포 할 수 있습니다. –
randominstanceOfLivingThing
@Suresh Koya : 두 번째 단락에서 항아리에 있어야한다는 것을 의미하지는 않습니다. 클래스가 각 응용 프로그램의 클래스 디렉토리에 완벽하게 배치 될 수 있다고 말했기 때문에 그렇습니다. 물론 작동 할 것입니다. 하지만 대안을 지적하고 있습니다. 클래스를 JBoss $ JBOSS_HOME/server//lib 디렉토리 (jar 파일)에 배치하면 필요한 각 응용 프로그램에서 클래스를 복사 할 필요가 없습니다. –
Toni
답변과 docs에 대한 포인터를 보내 주신 Toni에게 감사드립니다. 또한 공통 클래스를 jar로 패키징하고 인스턴스 lib 디렉토리에 배치하는 방법을 살펴 보겠습니다. – Pacman