我目前使用以下两个文件(Web.xml &MyListener.java)。我在管理控制台中将"MyProfile"变量值设置为JNDI,一切正常工作。
但我想知道是否有一种方法可以通过applicationcontext.xml实现这一点。我可以从管理控制台读取JNDI值,如下面的applicationcontext.xml所示,但不确定Spring是否有任何方法在xml文件中设置配置文件。
提前感谢!
web . xml
<context-param>
<param-name>contextInitializerClasses</param-name>
<param-value>MyListener</param-value>
</context-param>
public class MyListener implements ApplicationContextInitializer<ConfigurableApplicationContext> {
public void initialize(ConfigurableApplicationContext applicationContext) {
String actProfile = applicationContext.getEnvironment().getProperty("MyProfile");
applicationContext.getEnvironment().setActiveProfiles(actProfile);
}
}
中
<jee:jndi-lookup id="MyProfile" jndi-name="MyProfile"/>
不是直接回答您的问题,但是您可以通过JVM属性设置配置文件:
-Dspring.profiles.active=YOUR_PROFILE_NAMES_AS_COMMA_SEPARATED_LIST