Précédent   Forum du club des développeurs et IT Pro > Java > Serveurs, conteneurs, et Java EE > Modularisation (OSGi, SCA...)
Modularisation (OSGi, SCA...) Forum d'entraide sur les architectures modulaires à base de composants et services (OSGi, SCA...). Avant de poster -> Les cours OSGi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/10/2010, 13h29   #1
Deaf
Membre émérite
 
Inscription : mars 2006
Messages : 799
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2006
Messages : 799
Points : 865
Points : 865
Par défaut OSGi et les fichiers

Bonjour,

Je suis en train de mettre en place un projet basé sur OSGi pour lequel j'essaie de faire les choses "bien comme il faut".

C'est là que se pose le problème de la manipulation des fichiers.
Je vais avoir besoin d'écrire et de lire des fichiers de l'application, mais je me demande quelle est la bonne pratique.

Le Bundle contient une méthode getDataFile : dois-je uniquement passer par elle? Est-ce que je dois la réserver à certains cas? lesquels?
Quid des ouvertures "classiques" : new File(...), Class.getResource(...) ?

Je n'ai pas trouvé de précision sur les différents tuto OSGi que j'ai pu lire...

Merci.
Deaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2010, 20h40   #2
fornacif
Invité régulier
 
Inscription : novembre 2009
Messages : 5
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 5
Points : 5
Points : 5
Bonsoir,

L'accès aux ressources d'un bundle OSGi se fait en utilisant l'instruction suivante :

Code :
this.getClass().getRessource("/path")
ou

Code :
this.getClass().getRessourceAsStream("/path")
De cette manière, on récupère tous les fichiers contenus dans le JAR du bundle appelant l'instruction.

François
fornacif est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2010, 09h06   #3
Deaf
Membre émérite
 
Inscription : mars 2006
Messages : 799
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : mars 2006
Messages : 799
Points : 865
Points : 865
Merci pour cette réponse.
Cependant, cela ne résoud que le problème de la lecture des fichiers embarqués dans les JARs.

Je vais préciser un peu mon problème.

Je peux avoir à lire deux types de fichiers:
  • Les fichiers embarqués dans les JARs (à priori via Class.getResourceAsStream)
  • Les fichiers externes, communs à toute l'application

Je peux avoir à écrire deux types de fichiers :
  • Des fichiers spécifiques au bundle (à priori via BundleContext.getDataFile)
  • Des fichiers externes, communs à toute l'application

Mon application pourrait avoir une arborescence ressemblant à ça:
MonAppli
+- bundles
+- img
+- conf
+- out

Ainsi un exemple de fichiers externes à accéder en lecture serait les images de l'application et pour les fichiers à écrire, il y a des fichiers générés (dans out).
A noter que conf peut contenir des fichiers de configuration à accéder en lecture ET en écriture.
Deaf est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h40.


 
 
 
 
Partenaires

Hébergement Web