0
我創建了要在我的Web應用程序中處於活動狀態的配置文件的環境變量條目: Tomcat服務器中的setenv.bat文件 JAVA_OPTS =%JAVA_OPTS%-Dspring.profiles.active = prod配置文件未從tomcat中設置的環境變量中提取,但在web.xml中提到時選擇配置文件
當我的應用程序嘗試使用活動配置文件加載數據源時,由於沒有設置活動配置文件,它會給出例外。
項中的applicationContext.xml:
<beans profile="dev">
<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:books"></property>
<property name="username" value="system"></property>
<property name="password" value="xyz"></property>
</bean>
</beans>
<beans profile="prod">
<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
<property name="username" value="system"></property>
<property name="password" value="abc"></property>
</bean>
</beans>
</beans>
但是當我通過web.xml中的條目做同樣的事情它的工作原理:
<context-param>
<param-name>spring.profiles.active</param-name>
<param-value>dev</param-value>
</context-param>
誰能告訴我什麼是負載問題使用環境變量的簡檔。
問題是我想在服務器本身設置一個變量,以便我可以知道它是否是開發環境或產品,並基於該配置文件被加載。我曾嘗試在tomact的setenv中設置一個變量,但我的應用程序沒有從那裏獲取任何系統屬性或環境變量。 –
好的,我建議應該解決這個問題。你試過了嗎? – OrangeDog
是的,但即使在tomcat的setenv文件中添加'spring.profiles.active',它也無法工作。請注意,我只想從服務器配置中讀取它。 –