我的应用程序在带有 Spring 2.5.6、Richfaces 3.1.6.SR1、JSF 1.1_02 的 Jboss 4.2.2 GA 上运行。我想要的是在我耳边有一个包含 s.th 的 porpertie 文件。喜欢
- 信息1="乔伊"
- 信息2 =“迪迪”
- 信息3 =“马克”
- [...]
对此文件的更改应该会立即产生影响。我是这样开始的:
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.configuration.reloading.FileChangedReloadingStrategy;
[...]
PropertiesConfiguration configure = null;
{
try {
configure = new PropertiesConfiguration("myProperties.properties");
configure.setReloadingStrategy(new FileChangedReloadingStrategy());
configure.setAutoSave(true);
} catch (ConfigurationException e) {
e.printStackTrace();
}
}
这似乎只有在 myProperties.properties 位于我耳内目标目录中的某个位置时才有效。所以我改变了我的代码:
File file = new File(myAppRoot + FSEP + "appserver" + FSEP + "server" + FSEP + "default"
+ FSEP + "conf" + FSEP + "myApp" + FSEP + "myProperties.properties");
configure = new PropertiesConfiguration(file);
configure.setReloadingStrategy(new FileChangedReloadingStrategy());
configure.setAutoSave(true);
这工作正常。但我想避免使用绝对路径。我已经定义了一个
<bean id="myPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
[...]
<property name="locations">
<list>
<value>classpath:myProperties.properties</value>
<value>classpath:myApp/myProperties.properties</value>
</list>
</property>