0
我目前使用以下兩個文件(Web.xml & MyListener.java)來設置我的Spring配置文件。我在管理控制檯中將「MyProfile」變量值設置爲JNDI,並且一切正常。applicationcontext.xml中的彈簧配置文件設置
但我想知道是否有辦法通過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);
}
}
的applicationContext.xml
<jee:jndi-lookup id="MyProfile" jndi-name="MyProfile"/>
謝謝克里斯。是的,我也看到了這個選項,但是如果我們可以在applicationcontext.xml中設置它,那就太好了。 – Kgan
你可能很幸運,通過使用'MethodInvokingFactoryBean'調用'java.lang.System#setProperty()'將'spring.profiles.active「作爲鍵和''作爲值。但是,我認爲一旦這個bean定義被評估,它就太晚了。 –
是的,我的猜測是一樣的..它可能會遲到。但我可以嘗試一下。 – Kgan