我有一个应用程序(不是webapplication)及其属性文件。我需要从服务器上的文件中加载其上下文中的几个属性,但我不能(因为我不知道我是怎么回事这个错误)。 我有一个代表SFtp的类,我可以连接到服务器下载和检索文件。
如何在我的上下文中包含和使用所有这些属性作为配置属性,或者如何修改上下文的XML以包含该文件?
最好创建一个Bean,以便以这种方式使用读取属性:
public class ServerProperties{
public static ServerPropertiesgetInstance() {
if (ServerProperties.instance == null) {
try {
final InputStream file = ServerProperties.getFileFromServer();
ServerProperties.instance = new CommonProperties();
ServerProperties.instance.environmentsProperties.load(file);
} catch (final IOException e) {
}
}
return ServerProperties.instance;
}
public String getterProp1() { return this.environmentsProperties.get("Prop1"); }
public String getterProp2() return this.environmentsProperties.get("Prop2");}
[...]
public String getterPropN() { return this.environmentsProperties.get("PropN");}
答案 0 :(得分:0)
您应该使用location
或locations
属性PropertyPlaceHolderConfigurer。他们接受可以使用FTP服务器位置的Resources。
这样的事情:
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>ftp://some_host/folder/file.properties</value>
</list>
</property>
</bean>