【发布时间】:2016-12-02 18:07:56
【问题描述】:
在 Camel 中,如果文件已经存在,有没有办法在设定的时间后使用 Timer 组件和 Spring 配置重命名文件?
是否只能通过调用将重命名文件的 Java 方法的 Timer 路由来实现?
所以,我有一个要从中提取数据的套接字。数据每天都在流动。正因为如此,我不只是想继续将数据路由到一个特定的文件中。
所以我的思考过程导致我在 X 段时间后重命名现有文件,并让 Netty 路由创建一个新文件,因为重命名后它不再存在。
我的路线类似于:
<route customId="true" id="socketToFileRoute">
<from uri="netty4:tcp://localhost:9999?clientMode=true&textline=true" />
<transform>
<simple>${in.body}\n</simple>
</transform>
<to uri="file://data?fileName=socketData.txt&charset=utf-8&fileExist=Append"/>
</route>
有没有办法按照以下方式设置 Timer 路由?:
<route customId="true" id="dataFileRenamer">
<from uri="timer://renameFile?fixedRate=true&period=50"/>
<to uri="file://data/socketData.txt?rename the file created in the previous route" />
</route>
【问题讨论】:
标签: apache-camel