Spring将属性加载到FTP服务器的上下文中

时间:2015-03-26 09:41:59

标签: java spring properties ftp applicationcontext

我有一个应用程序(不是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");}

1 个答案:

答案 0 :(得分:0)

您应该使用locationlocations属性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>