Mon projet de lot de printemps doit télécharger des fichiers à partir de plusieurs serveurs sftp. L'hôte sftp/port/filePath est configuré dans le fichier application.properties. J'envisage d'utiliser la passerelle 'outft-bound gateway' de l'intégration de printemps pour connecter ces serveurs et télécharger des fichiers. mais je ne sais pas comment faire ce genre de configuration (j'utilise java config) et le faire fonctionner? Je suppose que j'ai besoin d'un moyen de définir plusieurs usine de session en fonction du nombre de config info de serveur sftp dans le fichier application.properties.intégration de printemps: solutions/conseils sur connecter plusieurs serveur sftp?
fichier de propriétés:
sftp.host=host1,host2
sftp.user=user1,user2
sftp.pwd=pwd1,pwd2
classe 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();
}
Salut Gary, je voudrais installer plusieurs connexions SFTP avec une classe annotée avec @ Configuration. l'information de connexion est config dans le fichier de propriétés, j'ai lutté pendant longtemps mais je ne peux pas l'implémenter, pouvez-vous donner quelques conseils? Merci! [voir aussi ce post] (https://stackoverflow.com/questions/46802260/how-to-define-multiple-sftp-connections) –
Il n'est pas clair quel est le problème; vous pouvez facilement ajouter plusieurs fabriques de connexions en tant que '@ Bean's dans votre @ Configuration, chacune avec son propre ensemble de propriétés. Si ce n'est pas ce que tu veux dire; s'il vous plaît expliquer dans beaucoup plus de détails. –
Bonjour Gary, Je ne peux pas définir plusieurs @Bean statiquement car la quantité de connexion dépend du fichier de propriétés. les haricots doivent être enregistrés dans le contexte du printemps dynamiquement. –