【发布时间】:2009-08-11 15:01:22
【问题描述】:
我是属性(使用 PropertyPlaceholderConfigurer)的大用户,因为我可以使我的应用程序尽可能“动态”。几乎所有的常量都是这样定义的。无论如何,我目前正在定义一个default.properties,它随默认 WAR 一起提供。
在其他环境(验收/生产)中,我需要覆盖配置。我这样做如下:
<bean id="propertyManager"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:com/company/default.properties</value>
<value>file:${COMPANY_PROPERTIES_LOCATION}\kbo-select-settings.properties</value>
</list>
</property>
</bean>
这意味着我可以为每个环境使用可升级的构建。
但是,我确实不喜欢无法从 WebSphere 内部更改任何属性的事实。相反,我必须访问每台服务器(我们有 8 个集群)并相应地更改属性。如果我可以从 WebSphere 内部更改这些内容并在之后执行重新启动,那将更加用户友好...
任何人都知道我该如何做这样一个可推广的构建?我已经为 datasources/java mail/etc 定义了 JNDI 配置。
谢谢!
【问题讨论】: