我在.properties文件和spring的下面的代码中有ftp连接属性。
<bean id="ftpConnectionFactory" class="org.springframework.integration.ftp.session.DefaultFtpSessionFactory">
<property name="host" value="${ftp.host}"/>
<property name="port" value="${ftp.port}"/>
<property name="username" value="${ftp.username}"/>
<property name="password" value="${ftp.password}"/>
</bean>
上面的方法使用web应用程序中的属性文件和占位符配置。但是我想要的是将这些属性保存在服务器中,比如tomcat context.xml文件。
我有弹簧集成,使用这个工厂。
<int-ftp:outbound-channel-adapter id="ftpOutbound"
channel="ftpChannel"
remote-directory="${ftp.remoteDir}"
remote-file-separator="\"
session-factory="ftpConnectionFactory"
/>
是否有一种方法可以在服务器中将这些属性具体化并使用jndi查找。对于数据源,我目前正在这样做。但我不知道如何为会话工厂做这件事。我这么做的原因是为了隐藏密码和其他细节。
发布于 2014-03-24 07:21:38
如果Tomcat可以从context.xml
正确地将对象绑定到JNDI,那么从JNDI查找获得对该对象的访问与对DataSource
的访问没有什么不同。
请展示您如何从Spring为DataSource
做这件事,以及如何配置ftpConnectionFactory
,我将尽力帮助您。
发布于 2014-03-24 06:36:50
您可以使用PropertyPlaceholderConfigurer,如下所示
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:external.properties</value>
</property>
</bean>
请参阅5.8.2使用BeanFactoryPostProcessor自定义配置元数据和Spring PropertyPlaceholderConfigurer示例上的更多示例
https://stackoverflow.com/questions/22602239
复制相似问题