COMMENT: Apache Camel, Regex match de fichiers
im expérimentation en arriver à dos de dromadaire pour faire certaines opérations sur les fichiers et de les transmettre à travers le courtier activeMQ, j'ai pris ce projet de plus d'un gars qui vient de quitter.
ce que j'ai obtenu jusqu'à présent:
<route id="SVLFTPCOPY">
<from uri="sftp://*****:*******@********/srv/test/?fileName=*2280.xls&noop=true&idempotent=false"/>
<to uri="file:/srv/data/test/destination/"/>
<to uri="activemq:queue:svl.ftp.copy"/>
</route>
il fonctionne au point où il dirige la route sans jeter toutes les erreurs, mais ne marche pas encore copier le fichier vers le fichier local.
Des idées?
.
OriginalL'auteur ministry | 2012-03-01
Vous devez vous connecter pour publier un commentaire.
Ouais vous avez besoin d'utiliser l'inclure/exclure/option de filtre si vous souhaitez filtrer des fichiers basés sur des modèles. L'option nom de fichier est un unique fichier.
Donc dans votre cas, retirez option nom de fichier et le remplacer par
include=.*2280.xsl
. L'esprit que l'include est basé sur Java des expressions régulières, nous utilisons dot star pour indiquer générique. Plus de détails ici: http://camel.apache.org/file2. Le composant ftp hérite de 99% des options du fichier de composant, c'est pourquoi je reportez-vous au fichier de la page wiki.c'est très bien. cette réponse m'a sauvé du temps: regex expression dans l'include doit avoir de point avant la star de sorte qu'il ressemble: &include=.*2280.xsl. Sinon il ne fonctionnera pas
il devrait l'être .*2280\.xsl ou .*2280[.]xsl
OriginalL'auteur Claus Ibsen
Utiliser le
include
option qui utilise Java expression régulière:S'il vous plaît, l'esprit de la
\\
avant le point.
Vous pouvez également utiliser
antInclude
:OriginalL'auteur Peter Keller
Pour ce genre de filtrage je recommande d'utiliser le GenericFileFilter
OriginalL'auteur Olivier.Roger
Dans la mise en œuvre de la correspondance de nom, le code suivant est utilisé:
De sorte que vous pouvez tester qui de l'expression régulière à utiliser. Dans votre cas, je pense que
.*2280\\.xsl
que vous devriez utiliser.OriginalL'auteur Xiao Peng - ZenUML.com