如何在应用程序文件

时间:2015-07-29 07:39:54

标签: java spring javabeans sftp applicationcontext

以下是春天的申请文件&我已经定义了入站通道。 通过初始化SourcePollingChannelAdapter的对象来访问该通道。

但我想使用另一个bean的引用来访问该对象。 我怎样才能做到这一点。有人可以指导我。 像这样:

        <bean id="DataAccessController"
    class="com.canaldigital.tsi.dao.controller.DataAccessControllerImpl">
    <property name="sftpAdapterAutoCreate" ref="sftpAdapterAutoCreate" />
</bean>

ApplicationContext.xml

        <bean id="defaultSftpSessionFactory"
            class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
        <property name="host" value="${sftp.host}"/>
        <property name="user" value="${sftp.username}"/>
    <!--    <property name="password" value="${sftp.password}"/>  -->
        <property name="port" value="${sftp.serverPort}"/>

        <!--  <property name="privateKey" value="${sftp.private.keyfile}"/> --> 
         <property name="privateKey" value="classpath:IBS_KEYS/id_rsa.txt"/>

         <property name="privateKeyPassphrase" value="${sftp.passphrase}"/>

    </bean>

    <bean id="sftpSessionFactory" class="org.springframework.integration.file.remote.session.CachingSessionFactory">
        <constructor-arg ref="defaultSftpSessionFactory" />
<!--             <property name="sessionCacheSize" value="10"/>
             <property name="sessionWaitTimeout" value="1000"/>  -->    
    </bean>

<int-sftp:inbound-channel-adapter id="sftpAdapterAutoCreate"
            session-factory="sftpSessionFactory"
            channel="requestSFTPDKDEVChannel"
            filename-pattern="*.*"
            remote-directory="/home/oracle/"
            preserve-timestamp="true"
            local-directory="C:/temp/"
            auto-create-local-directory="true"
            temporary-file-suffix=".writing"
            delete-remote-files="true">
    <int:poller fixed-rate="1000" time-unit="SECONDS" />
</int-sftp:inbound-channel-adapter>


    <int:channel id="requestSFTPDKDEVChannel">
        <int:queue/>
    </int:channel>

Test.java

SourcePollingChannelAdapter adapter = context1
                    .getBean("sftpAdapterAutoCreate",SourcePollingChannelAdapter.class);

            adapter.start();

0 个答案:

没有答案