2
У меня есть несколько мест, откуда я должен загрузить эти файлы, а затем удалит эти файлы или заархивирует эти загруженные файлы на удаленном сервере. Следующее - это то, что я хочу сделать, но проблема в том, что я мало знаю, я не знаю, возможно это или нет.Есть ли в любом случае наличие нескольких входящих SFTP-каналов в одном файле конфигурации?
ApplicationContext:
<bean id="defaultSftpSessionFactory"
class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
<property name="host" value="${sftp.host}"/>
<property name="user" value="${sftp.username}"/>
<property name="port" value="${sftp.serverPort}"/>
<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" />
</bean>
<int-sftp:inbound-channel-adapter id="sftpAdapterAutoCreate"
session-factory="sftpSessionFactory"
channel="requestSFTPNODEVChannel"
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"/>
</int-sftp:inbound-channel-adapter>
<int-sftp:inbound-channel-adapter id="sftpAdapterAutoCreate"
session-factory="sftpSessionFactory"
channel="requestSFTPDKDEVChannel"
filename-pattern="*.*"
remote-directory="/home/oracle/Outgoing/"
preserve-timestamp="true"
local-directory="C:/temp1/"
auto-create-local-directory="true"
temporary-file-suffix=".writing"
delete-remote-files="true">
<int:poller fixed-rate="1000"/>
</int-sftp:inbound-channel-adapter>
<int:channel id="requestSFTPNODEVChannel">
<int:queue/>
</int:channel>
<int:channel id="requestSFTPDKDEVChannel">
<int:queue/>
</int:channel>
Тогда как я могу получить доступ к конкретному адаптеру входящего канала из моего java-кода? – user3548196
«Доступ» это в каком отношении? Чтобы начать/остановить, см. [Этот ответ] (http://stackoverflow.com/questions/23915524/spring-integration-manually-start-stop-channel-adapter-via-control-bus/23916788#23916788). Вы можете получить ссылку на «MessageSource» внутри адаптера с именем bean name 'id.source'. Я просто заметил, что у вас есть тот же «id» - они должны быть уникальными. –