J'ai une application héritée que j'essaye de porter sur Java EE. Actuellement, cette application appelle URL.setURLStreamHandlerFactory() pour enregistrer certains gestionnaires de protocole d'URL personnalisés. Cet appel échoue sous Glassfish v 2.1 et 3 parce que glassfish a déjà enregistré une usine.New URLStreamHandlers dans glassfish
J'ai essayé d'utiliser la propriété système java.protocol.handler.pkgs, mais cela ne fonctionne pas pour moi en raison de problèmes de classloader. Les classes de gestionnaire font toutes partie de l'application et je ne tiens pas à les extraire et à placer un jar dans le classpath du conteneur. J'ai une vague de paquets osgi - apparemment je pourrais écrire un paquet qui traitera les nouveaux protocoles. Je ne tiens pas à faire de cette application web un bundle osgi (une étape à la fois! EE d'abord, puis osgi si le besoin s'en fait sentir).
Est-il possible de placer un fichier jar bundle dans mon répertoire WEB-INF/lib et de le charger en tant que groupe? Le bundle devra importer des paquets à partir des applications web (un autre jar dans WEB-INF/lib ou dans WEB-INF/classes). Je suis prêt à empaqueter cette application comme un EAR si cela fonctionne, je ne peux pas justifier d'osgifier l'application entière sans en savoir plus.