Tomcat + spring 使用站外的配置文件

对于配置文件我们原来使用spring的applicationContext.xml来配置


        <bean
  class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
  <property name="ignoreResourceNotFound" value="true" />
  <property name="locations">
   <list>
    <!-- standard configuration -->
    <value>classpath*:/application.properties</value>
    <!-- local dev configuration -->
    <value>classpath*:/application.local.properties</value>
    <!-- production server configuration -->

    <value>classpath*:application.server.properties</value>
    <   </list>
  </property>
 </bean>

原来的配置文件是放在src/main/resources/application.properties 下面的, 但在生产/测试服务器中部署的话经常要要改动该配置文件, 先解包然后再改于是客户提出要求把配置文件放到站外.

修改如下

 

value>file:/var/myapp/application.server.properties</value>


但客户要求不能硬编码外部配置文件的路径, 并把这个路径放在tomcat的配置里面. 于是想改成
<value>file:${yourpath}/application.server.properties</value>


这种形式, 但这样要求yourpath为系统变量. 最后的解决方案是在tomcat的<tomcatHome>/conf/context.xml中添加一个环境变量, 然后重写了一个ContextLoaderListener

最后的配置为
<tomcatHome>/conf/context.xml

 

applicationContext.xml
...
       

...

 

web.xml


          

 

 

ContextLoaderListener.java

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值