У меня есть устаревшее приложение, которое я пытаюсь перенести на Java EE. В настоящее время это приложение вызывает URL.setURLStreamHandlerFactory () для регистрации некоторых пользовательских обработчиков протокола URL. Этот вызов не выполняется в Glassfish v 2.1 и 3, потому что glassfish уже зарегистрировал фабрику.
Я пытался использовать системное свойство java.protocol.handler.pkgs, но у меня это не работает из-за проблем с загрузчиком классов. Все классы-обработчики являются частью приложения, и я не заинтересован в том, чтобы пытаться извлечь их и поместить jar в путь к классу контейнера.
У меня есть запах Osgi связок - очевидно, я мог бы написать комплект, который будет иметь дело с новыми протоколами. Я не заинтересован в том, чтобы превратить это веб-приложение в пакет osgi (по одному шагу! Сначала EE, а затем osgi, если возникнет такая необходимость).
Можно ли вставить jar-пакет в мой каталог WEB-INF / lib и заставить Glassfish загрузить его в виде пакета? Пакет должен будет импортировать пакеты из веб-приложений (еще один jar в WEB-INF / lib или в WEB-INF / classes). Я готов упаковать это приложение в EAR, если это сработает, я просто не могу оправдать распространение всего приложения, не зная больше.