Printemps de chargement PropertySourcesPlaceholderConfigurer de JBoss contexte
J'ai un printemps 3.1 le chargement de l'application des paramètres à l'aide PropertySourcesPlaceholderConfigurer et je veux gérer les tests et la production d'environnements simplement le chargement de paramètres de serveur de contexte primordial paramètres spécifiés dans les propriétés du fichier local.
Exemple suivant fonctionne très bien avec Tomcat, comment puis-je faire la même chose dans JBoss as 7.1?
Au printemps contexte, j'ai:
<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="localOverride" value="false" />
<property name="locations">
<list>
<value>classpath:Application.properties</value>
<value>classpath:ApplicationTest.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
Dans ApplicationTest.propriétés (qui remplace l'Application.les propriétés):
jdbc.driverClassName=oracle.jdbc.OracleDriver
jdbc.url=jdbc:oracle:thin:@XXXX:1521:xxxx
jdbc.username=myUsername
jdbc.password=myPassword
Dans context.xml (dans Tomcat/conf répertoire):
<Context>
...
<Parameter name="jdbc.driverClassName" value="oracle.jdbc.OracleDriver" override="false"/>
<Parameter name="jdbc.url" value="jdbc:oracle:thin:@XXXX:1521:ProductionSID" override="false"/>
<Parameter name="jdbc.username" value="myProductionUsername" override="false"/>
<Parameter name="jdbc.password" value="myProductionPassword" override="false"/>
...
</Context>
De cette façon, tous les paramètres spécifiés dans context.xml remplace les paramètres dans ApplicationTest.les propriétés.
Est-il un moyen de spécifier le paramètre de contexte dans JBoss? (c'est à dire dans standalone.xml fichier)
EDIT - RÉSOLU:
Comme suggéré dans les réponses, si j'ai mis des entrées dans WEB-INF/jboss-web.xml à l'intérieur d'une webapp qui fonctionne:
<jboss-web>
...
<env-entry>
<env-entry-name>jdbc.username</env-entry-name>
<env-entry-value>myUsername</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
...
</jboss-web>
Mais mon but était de placer le fichier de configuration de l'application web.
J'ai résolu de cette façon, je charge le fichier de configuration à partir de $SERVEUR/répertoire conf:
<bean class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="false" />
<property name="localOverride" value="false" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:Application.properties</value>
<value>classpath:ApplicationTEST.properties</value>
<value>file:${catalina.home}\conf\ApplicationPRODUCTION.properties</value><!-- FOR TOMCAT -->
<value>file:${jboss.server.base.dir}\configuration\ApplicationPRODUCTION.properties</value><!-- FOR JBOSS-->
</list>
</property>
</bean>
Si quelqu'un sait comment mettre les Paramètres dans JBOSS config de l'application web (TOMCAT) est bien apprécié!
Merci À Tous!
OriginalL'auteur fl4l | 2013-03-19
Vous devez vous connecter pour publier un commentaire.
Selon la JBoss7 documentation:
Voir ici pour plus de détails.
Dans les anciennes versions, vous pourriez ajouter à ces propriétés context.xml comme d'habitude, JBoss, Tomcat, comme un conteneur de servlet.
OriginalL'auteur omnomnom
Utiliser un jboss-web.xml fichier. Ce fichier spécifiquement remplace context.xml de Tomcat.
OriginalL'auteur Peter Bratton