【发布时间】:2016-03-16 09:27:34
【问题描述】:
我想将一系列与环境相关的设置配置为外部资源,以便可以在任何应用程序服务器中配置相同的 WAR 工件。
在 Glassfish 中,我记得我刚刚使用内置的 Properties Resource JNDI Factory 创建了一个 .properties 文件,它的工作原理非常棒,但在 Tomcat 中没有这样的东西。
我尝试定义一个 java.net.URL 和一个 java.lang.String 来定义这个文件所在的路径,但是我得到了以下错误:
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/c://app.properties]
那么,为我的应用程序创建一组与环境无关的属性的好方法是什么?
PS:这就是我在 Spring 中定义属性的方式:
<jee:jndi-lookup id="appProperties" jndi-name="java:comp/env/url/urlAppProperties" />
<bean id="application-properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>#{ appProperties }</value>
</list>
</property>
</bean>
【问题讨论】: