私の春のバッチプロジェクトは、複数のSFTPサーバーからファイルをダウンロードする必要があります。 sftp host/port/filePathは、application.propertiesファイルで設定されています。これらのサーバーとダウンロードファイルを接続するために、バネ統合「sftpアウトバウンドゲートウェイ」を使用することを検討します。しかし、私はどのようにこの種の設定(私はjavaの設定を使用しています)を行い、それを動作させるのか?私はapplication.propertiesファイル内のsftpサーバー情報の設定の数に応じて、複数のセッションファクトリを定義するための何らかの方法が必要だと思います。バネ統合:ソリューション/複数のSFTPサーバーを接続するためのヒント?
プロパティファイル:
sftp.host=host1,host2
sftp.user=user1,user2
sftp.pwd=pwd1,pwd2
Configクラス:
@Bean
public SessionFactory<ChannelSftp.LsEntry> sftpSessionFactory1() {
...
}
@Bean(name = "myGateway1")
@ServiceActivator(inputChannel = "sftpChannel1")
public MessageHandler handler1() {
...
}
@MessagingGateway
public interface DownloadGateway1 {
@Gateway(requestChannel = "sftpChannel1")
List<File> start(String dir);
}
@Bean(name="sftpChannel1")
public MessageChannel sftpChannel1() {
return new DirectChannel();
}
こんにちはゲイリー、私はセットアップで注釈が付け一つのクラスで複数のSFTP接続をしたいと思います@構成。接続情報はプロパティファイルに設定されていますが、私は長い間苦労していますが、実装できません。ありがとう! [この記事も参照してください](https://stackoverflow.com/questions/46802260/how-to-define-multiple-sftp-connections) –
問題が何であるかは不明です。 '@Bean'として複数の接続ファクトリを' @Configuration'に簡単に追加することができます。それぞれには独自のプロパティセットがあります。それはあなたが意味するものではない場合。もっと詳しく説明してください。 –
こんにちはゲイリー、私は複数の@Beanを静的に定義することはできません。接続の量はプロパティファイルによって決まるからです。 BeanはSpringコンテキストに動的に登録する必要があります。 –