Spring統合のsftpアダプタを使用してスタンドアロンAPIを構築する必要がありますが、呼び出し側はsftp接続パラメータ(host、user、pwdなど)を渡します。私は春のコンテキストXMLでそれらを初期化することはできません。私は、ティアダウンが必要な場合や、呼び出しごとにアプリケーションコンテキストを再作成する最善の方法についてのアドバイスを探しています。ここで私のコンテキストxmlは、私はDefaultSftpSessionFactoryのパラメータを外部化したいと思います。Spring Integration SftpOutboundChannelAdapter - 実行時にftpパラメータを渡す方法
<bean id="sftpSessionFactory" class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
<property name="host" value="${host}" />
<property name="port" value="${serverport}" />
<property name="user" value="${username}" />
<property name="password" value="${password}" />
<property name="allowUnknownKeys" value="true" />
</bean>
<int:channel id="inputChannel" />
<int-sftp:outbound-channel-adapter id="sftpOutboundAdapter"
session-factory="sftpSessionFactory"
channel="inputChannel"
charset="UTF-8"
remote-file-separator="/"
remote-directory="/accounts/12026622/Reports/"
use-temporary-file-name="false"
mode="REPLACE"
remote-filename-generator-expression="payload.getName() + '-foo'" />
https://spring.io/blog/2016/07/08/java-dsl-for-spring-integration-1-2-m1-and-1-1-3-are-availableも参照してください。これで、実行時にフロー全体を設定できるようになりました。 –
Gary - SessionFactoryLocatorでDelegatingSessionFactoryの例がありますか? – javakart
私は認識していませんが、ホスト/ポート/資格情報をメッセージヘッダーに追加し、ファクトリロケータで使用することは困難です。私は今週のSpringOne Platformカンファレンスに出席しています。私は、ここにコメントを追加して私に思い出させると、来週に例を作ることができます。 –