I Case
<camel:camelContext id="camel">
<camel:route>
<camel:from ref="hotfolderEndpoint"/>
<camel:to uri="file://c:/test/myfolder/toEnd"></camel:to>
</camel:route>
</camel:camelContext>
<camel:endpoint id="hotfolderEndpoint" camelContextId="camel"
uri="file://c:/test/hotfolder?move=backup/${date:now:yyyyMMdd}/${file:name}"/>
Résultat: org.apache.camel.component.file.GenericFileOperationFailedException: Impossible de créer le répertoire: c: \ test \ Hotfolder \ backup \ maintenant: aaaaMMjj nom \
II cas DSL
from("file://c:/test/myfolder?preMove=inprogress&moveFailed=backup/${date:now:yyyyMMdd}/${file:name}")
.to("file://c:/test/myfolder/toEnd");
Résultat preMove fonctionne très bien (dossier créé InProgress), mais mouvement émet une exception: GenericFileOperationFailedException: Impossible de renommer le fichier: GenericFile [c: \ test \ Hotfolder \ xxx.txt] à: GenericFile [backup \ 20100512]
III Case
<bean id="hotfolderEndpoint"
class="org.apache.camel.component.file.FileEndpoint"
factory-bean="camel"
factory-method="getEndpoint">
<constructor-arg ref="hotfolder" />
<property name="readLock" value="rename" />
<property name="move" ref="moveExp"/>
</bean>
<bean id="moveExp" class="org.apache.camel.model.language.SimpleExpression">
<property name="expression" value="done/${file:name.noext}-done.${file:ext}"/>
</bean>
Problème simlar Case II
IV cas
<camel:camelContext id="camel">
<camel:route>
<camel:from uri="file://c:/test/hotfolder?move=backup/${date:now:yyyyMMdd}/${file:name}"/>
<camel:to uri="file://c:/test/myfolder/toEnd"></camel:to>
</camel:route>
</camel:camelContext>
Résultat: le travail comme prévu
Question: Est-ce que je fais mal sth ou il y a un bug dans Camel
Qu'est-ce que '$ {file: name}' est censé être? – skaffman
Il est supposé être le nom du fichier d'origine selon la documentation de thew camel File Language. J'ai remarqué, que même si j'utilise un uri pur comme file:/inbox? Move =/done/$ {file: name} j'obtiens un fichier dans le dossier done nommé 'name'. Il semble que le langage des fichiers ne fonctionne pas. – sempa