우리는 두 애플리케이션 모두 표준 Java의 ImageIO를 사용하지만 추가 라이브러리를 사용하여 더 많은 독자를 추가하는 WebSphere 애플리케이션 서버에 여러 개의 웹 애플리케이션을 배치했습니다/작가.적절한 스코프로 javax.imageio.spi.IIORegistry의 인스턴스를 얻는 방법
이제는 두 응용 프로그램 모두 IIORegistry.getDefaultInstance()
을 사용하여 서비스 레지스트리 인스턴스를 가져오고 두 응용 프로그램 모두 동일한 인스턴스를 얻는 것처럼 보입니다. 내부적으로 이것은 동일한 awt AppContext를 반환하는 AppContext.getAppContext()
과 관련이 있습니다. 동일한 라이브러리를 사용하는 두 앱을 신경 쓰지 않고 Java의 ImageIO를 사용하여 여러 WebSphere Application을 사용하는 적절한 방법이 있습니까? WebSphere Application을위한 awt AppContext를 수동으로 만들어야합니까?
답장을 보내 주셔서 감사 드리며 실제로 웹 앱의 플러그인을 다른 웹 앱의 플러그인으로 숨길 수 있습니다. 원하지 않는 NoClassDefFoundErrors는 다른 쪽이 제대로 작동하지 못하게하므로 두 웹 앱 모두 동일한 라이브러리 집합을 공유해야합니다 (가능하지만 어쩐지 이상한 경우). 또는 두 번째 웹 애플리케이션을 어떤 방식으로 다른 웹 애플리케이션에 숨길 수있는 방법이 있어야합니다. –
@ThomasW이 방법을 구현하는 가장 쉬운 방법은 단순히 웹 애플리케이션별로 하나씩 여러 개의 WebSphere 인스턴스를 실행하는 것입니다. – haraldK
@ThomasW 생각해 보라. 같은 컨테이너 안에서 가능할 수도있다. 그러나 웹 애플리케이션 컨텍스트 당 'ThreadGroup'을 사용하도록 WebSphere를 구성하는 방법이 필요합니다. 그게 가능하다면 나는 확신하지 못합니까? 어쨌든, 나는 다른 스레드 그룹이 실제로 문서화 된 것과 같이 다른 'IIORegistry' 인스턴스를 얻는다는 것을 증명하기 위해 빠른 PoC를 썼다. – haraldK