Java EE로 포팅하려는 레거시 애플리케이션이 있습니다. 현재이 애플리케이션은 URL.setURLStreamHandlerFactory()를 호출하여 일부 맞춤 URL 프로토콜 핸들러를 등록합니다. glassfish는 이미 공장을 등록했기 때문에 Glassfish v 2.1 및 3에서는이 호출이 실패합니다.glassfish의 새 URLStreamHandler
java.protocol.handler.pkgs 시스템 속성을 사용해 보았지만 클래스 로더 문제로 인해 작동하지 않습니다. 처리기 클래스는 모두 응용 프로그램의 일부이므로 컨테이너의 클래스 경로에 jar 파일을 추출하려고하지 않습니다.
나는 osgi 번들을 가지고있다. 분명히 새로운 프로토콜을 다룰 Bundle을 쓸 수있다. 나는이 웹 응용 프로그램을 osgi 번들 (한 번에 한 단계 씩 만들려고합니다 .EE 먼저 작성한 다음 필요한 경우 osgi)에 관심이 있습니다.
WEB-INF/lib 디렉토리에 번들 jar 파일을 가져 와서 Glassfish가 번들로로드 할 수 있습니까? 번들은 웹 응용 프로그램 (WEB-INF/lib의 다른 jar 또는 WEB-INF/classes)에서 패키지를 가져와야합니다. 이 앱을 EAR로 패키징하고 싶다면 더 이상 모르게 전체 애플리케이션을 osgifying 할 수 없습니다.