Linux에서 x86_64 OpenJDK 1.6을 사용하여 Tomcat 6.24에서 Singleton을 구현하려고합니다.클래스 로더로 인해 Tomcat 웹 응용 프로그램에서 싱글 톤 패턴을 구현하는 데 문제가 있습니다.
내 응용 프로그램은 JSP와 정적 컨텐츠의 일부이며 JSP는 Java 코드를 호출합니다. 현재 web.xml을 그냥 다음과 같습니다
I 클래스는 두 개의 서로 다른 클래스 로더에 의해로드 된 지 한 이후 두 번 인스턴스화지고 한 내 싱글을로드 할 때 전에<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<description>
App Name
</description>
<display-name>App Name</display-name>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>pages/index.jsp</welcome-file>
</welcome-file-list>
</web-app>
(잘 모르겠어요 왜) 각 로더는 내 응용 프로그램에서 받아 들일 수없는 싱글 톤 인스턴스를 생성합니다. 나는 마침내 내 코드를 항아리로 내 보낸 다음 $ CATALINA_HOME/lib에 넣었을 때 단 하나의 인스턴스 만 있었지만 이것이 우아한 해결책은 아닌지를 알아 냈습니다.
나는 수 시간 동안 인터넷 검색을 해왔지만, 아직 아무 것도 생각 나지 않았습니다. 다른 해결책이 있는지 궁금하네요. 현재 JSP를 사전 작성하지 않고 있는데, 이것이 문제의 일부가 될 수 있습니까? 싱글 톤이 생성되도록하기 위해 서블릿을 작성할 수 있습니까? 그렇다면 어떻게해야합니까?
하나의 webapp 또는 둘 이상의 webapp 만 있습니까? – nojo
단 하나의 webapp이 싱글 톤을 사용합니다. – jwegan