JBoss 7 – Chargement de ressources par JNDI – Externalisation d'un fichier .properties

Il peut est parfois utile de charger des propriétés directement en JNDI depuis le serveur. Par exemple, un fichier properties qu’on souhaite externaliser de son war et qui est spécifique à chaque environnement. JBoss possède un mécanisme pour disposer de
Pierre LISERONMis à jour le 12 Févr 2014

Il peut est parfois utile de charger des propriétés directement en JNDI depuis le serveur. Par exemple, un fichier properties qu'on souhaite externaliser de son war et qui est spécifique à chaque environnement. JBoss possède un mécanisme pour disposer de propriétés exposées en JNDI à l'application. Cette configuration se situe dans le subsystem naming:1.1.

JBoss offre avec ce subsystem deux solutions pour disposer dune « base de données » de properties:

Soit en mettant toutes les properties dans le fichier de configuration comme ceci.

<
subsystem xmlns="urn:jboss:domain:naming:1.1">  
 <
bindings>   
   <
simple name="jndi/mavaleur" value="mavaleur">
   <
/simple>
 <
/bindings>
<
/subsystem>

Soit en injectant le fichier de properties en JNDI dans l'application avec l'ajout d'un module dans JBOSS, ce qui est très pratique si le fichier de properties est volumineux.

Voilà, avec cette petite astuce, il est possible de stocker des propriétés dans le fichier de configuration standalone, ou bien dans un fichier de properties externalisé. Il est après très facile de charger ces paramètrages dans l'application grace à JNDI.