/ / Accès aux ressources à partir d’un bundle osgi: le schéma de bundles dans l’URL conduit à une exception mal formée - java, url, ressources, osgi, protocoles

Accès aux ressources à partir d'un bundle osgi: le schéma de bundles dans l'URL conduit à une exception mal formée - java, url, ressources, osgi, protocoles

Question

Existe-t-il un moyen de construire un objet java.net.URL à partir de son constructeur avec "bundle" comme schéma dans un contexte osgi?

Exemple

URL url = new URL("bundle://<bundle-id>/path/file.txt");
InputStream in = url.openStream();
...

Ce code conduit à une exception mal formée (protocole inconnu) lorsque le flux est ouvert. Je ne sais pas comment la plate-forme osgi enregistre de nouveaux schémas sur java.net.URL

Contexte et solution idéale

Je veux configurer un service grâce àAdmin de configuration. Cette configuration contient une propriété permettant de définir un chemin de fichier. Je souhaite que le consommateur puisse stocker le fichier où il le souhaite (système de fichiers, bundle ou même internet).

L’exemple précédent pourrait être formidable car lele code est simple et le consommateur peut fournir un chemin d'accès de la forme: "bundle: ///path/file.txt", "fichier: ///path/file.txt", "http: ///path/file.tx ", mais malheureusement cela ne fonctionne pas.

Réponses:

0 pour la réponse № 1

Non, seul le framework peut construire ces URL. Vous pouvez utiliser un objet Bundle pour renvoyer des URL pour le contenu d'un bundle.