2017-08-21 2 views
0

Notre application lit et écrit des fichiers dans un dossier FTP avec la structure de répertoires {date}/{usercode}/*. Nous essayons d'utiliser l'adaptateur entrant sftp. Y at-il un moyen de définir un scanner de répertoire personnalisé pour l'adaptateur entrant sftp?Scanner de répertoire personnalisé pour adaptateur sftp-inbound-channel

<int-sftp:inbound-channel-adapter 
     id="sftpInboundAdapter" 
     channel="filesIn" 
     filename-pattern="*.xml" 
     session-factory="sftpSessionFactory" 
     remote-directory="file:${fileserver.input.path}" 
     local-directory="file:${fileserver.output.path}" 
     delete-remote-files="false" 
</int-sftp:inbound-channel-adapter> 

Répondre

0

L'utilisation d'un scanner personnalisé n'est actuellement pas prise en charge.

En guise de solution, vous pouvez définir ouput-channel sur "nullChannel" et configurer un <int-file:inbound-channel-adapter/> distinct avec un scanner personnalisé.

+0

Merci Gary !. Donc, va déplacer les fichiers du répertoire distant vers le répertoire local et publier les messages sur le canal nul. A partir du répertoire local, nous utilisons avec le scanner d'annuaire. Mais int-sftp: inbound-channel-adaptateur n'analyse pas les sous-répertoires et je ne pourrai télécharger que les fichiers selon le lien ci-dessous. "http://forum.spring.io/forum/spring-projects/integration/88372-sftp-inbound-adapter-and-subdirectories". Il n'y a donc aucun intérêt à utiliser un scanner personnalisé. –

+0

L'adaptateur entrant n'a pas de scanner "distant"; juste un local. Si vous souhaitez extraire une arborescence de répertoires distante, utilisez une [passerelle sortante] (http://docs.spring.io/spring-integration/reference/html/sftp.html#sftp-outbound-gateway) à l'aide de l'option récursive MGET. . –

+0

Mon exigence est de supprimer les fichiers source à distance après le téléchargement. Donc, si nous utilisons MGET les fichiers sources ne seront pas supprimés. Aussi je veux seulement que les fichiers téléchargés soient supprimés parce que le répertoire source est mis à jour continuellement. Y a-t-il une solution pour ce scénario? –