내 웹 응용 프로그램은 기능의 일부 (기본 경로가 PATH에 제공됨)에 기본 DLL을 사용합니다. 모든 것은 WAR를 변경하고 JBoss가이 WAR를 변경하기 전까지 작동합니다. 이 시점에서 dll은 더 이상 발견되지 않으며 수동으로 서버를 다시 시작해야합니다.JBoss (핫) 재배포 후에 필요한 dll 찾기?
뜨거운 배포 후에 dll을 다시 응용 프로그램에로드하는 가장 좋은 방법은 무엇입니까?
내 웹 응용 프로그램은 기능의 일부 (기본 경로가 PATH에 제공됨)에 기본 DLL을 사용합니다. 모든 것은 WAR를 변경하고 JBoss가이 WAR를 변경하기 전까지 작동합니다. 이 시점에서 dll은 더 이상 발견되지 않으며 수동으로 서버를 다시 시작해야합니다.JBoss (핫) 재배포 후에 필요한 dll 찾기?
뜨거운 배포 후에 dll을 다시 응용 프로그램에로드하는 가장 좋은 방법은 무엇입니까?
너무 쉽지 않을 수도 있습니다. 일반적으로 DLL은 특정 클래스 로더에 연결됩니다. 다시 배포하면 응용 프로그램에 사용 된 원래 클래스 로더가 파괴되었음을 의미합니다. 아쉽게도 Java Virtual Machine은 두 번째 클래스 로더가 DLL을 다시로드하는 것을 허용하지 않습니다.
가상 컴퓨터에서 결코 언로드되지 않는 정적 인 것이 있어야합니다. 어쩌면 첫 번째 응용 프로그램을 다시 배포해도 DLL에 영향을 미치지 않으므로 DLL을로드하는 두 번째 응용 프로그램을 사용하는 것이 해결책 일 수 있습니다. DLL을로드하고 응용 프로그램에 추가하는 대신 JBoss 자체의 클래스 경로에 추가하는 Jar 파일을 만들 수도 있습니다. 일반적으로 이러한 서버에는 모든 응용 프로그램에서 공유 할 jar 파일을 추가 할 수있는 "공유"디렉토리가 있습니다.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4225434
:일부터 다음 버그
은로드 서블릿보다 훨씬 더 일반적이며이 문제에 약간의 실마리를