...
<jee:jndi-lookup id="jettisonConfProperties" jndi-name="java:comp/env/url/jettisonConf" resource-ref="true"/>
Permet de désigner le nom de la ressource JNDI utilisée pour la recherche du fichier externalisé.<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" depends-on="jettisonConfProperties">
<property name="ignoreUnresolvablePlaceholders" value="true"/>
<property name="properties" ref="jettisonConfProperties"/>
</bean>
Permet de déclarer un objet PropertyPlaceholderConfigurer s'appuyant sur le fichier externalisé des valeurs propriétés pour la substitution dans le fichier beans.xml.<bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean" >
<property name="converters">
<set>
<bean id="stringToMapConverter" class="com.hardis.common.StringToMapConverter" />
</set>
</property>
</bean>
Permet d'activer par défaut les convertisseurs nécessaires pour l'évaluation des valeurs des propriétés et déclare un convertisseur spécifique d'une String vers un objet Map.Exemple (convertisseur [String → List], une chaîne composée de plusieurs chaînes séparées par une virgule est convertie en un objet List), :
...<property name="arrayKeys" value="${jettisonProvider.arrayKeys}"/>
...
jettisonProvider.arrayKeys=implantations, products
Equivaut à :<property name="arrayKeys">
<list>
<value>implantations</value>
<value>products</value>
</list>
</property>
L'ensemble des couples (identifiant, valeur) sont regroupés dans un fichier .properties.
Exemple : jettisonConf.properties
Bloc de code |
---|
jettisonProvider.dropRootElement=true jettisonProvider.serializeAsArray=true jettisonProvider.supportUnwrapped=true jettisonProvider.arrayKeys=implantations, products |
Exemple d'une propriété avec pour valeur une map d'éléments :
JWTADELIALOGINMODULE.adeliaParameters=[VAAuthProgram:com.hardis.adelia.HFAUWS][SSOEnabled:false][Unicode:true]
Equivaut à :
<property name="adeliaParameters">
<map>
<entry key="VAAuthProgram" value="com.hardis.adelia.HFAUWS" />
<entry key="SSOEnabled" value="false" />
<entry key="Unicode" value="true" />
</map>
</property>
Déclaration de la ressource JNDI de façon globale ou propre au contexte de l'application web dans la configuration de Tomcat ($TOMCAT_HOME/conf/server.xml ou $TOMCAT_HOME/conf/Catalina/localhost/contextRoot.xml).
Exemple : Déclaration de la ressource JNDI propre au contexte de l'application nommée mywebapp.
Le nom de la ressource JNDI est : url/jettisonConf
L'emplacement du fichier externalisé des propriétés est : c:/conf/jettisonConf.properties
...