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',它也无法工作。请注意,我只想从服务器配置中读取它。 –