I ケース
<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}"/>
結果: org.apache.camel.component.file.GenericFileOperationFailedException: ディレクトリを作成できません: c:\test\hotfolder\backup\now:yyyyMMdd\name
II ケース DSL
from("file://c:/test/myfolder?preMove=inprogress&moveFailed=backup/${date:now:yyyyMMdd}/${file:name}")
.to("file://c:/test/myfolder/toEnd");
結果 preMove は正常に動作します (作成中のフォルダー)。
III ケース
<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>
ケース II に似た問題
Ⅳケース
<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>
結果: 期待どおりに動作します
質問: 私のやり方が間違っているのでしょうか、それとも Camel にバグがありますか?