Java Apache Camel在多个文件上触发路由
我们在应用程序中配置了几个camel路由,但只要将单个文件放到目录中,每个路由都会触发。 其中一个路由(路由A)轮询两个文件,然后移动到/完成。 我需要创建一个路由B,只有当路由a的两个文件都在/done中时,它才会触发(将另一个文件移到别处)。Java Apache Camel在多个文件上触发路由,java,apache-camel,Java,Apache Camel,我们在应用程序中配置了几个camel路由,但只要将单个文件放到目录中,每个路由都会触发。 其中一个路由(路由A)轮询两个文件,然后移动到/完成。 我需要创建一个路由B,只有当路由a的两个文件都在/done中时,它才会触发(将另一个文件移到别处)。 在线文档中没有立即明确如何执行此操作。您描述的是一个需要状态的事件驱动设计(需要移动2个文件) routeA移动文件X。。完成后。。向主题/队列发送事件 routeB移动文件。。完成后。。向主题/队列发送事件 根据这种情况发生的时间和频率,以及您是否需
在线文档中没有立即明确如何执行此操作。您描述的是一个需要状态的事件驱动设计(需要移动2个文件)
[Camel Polling Consumer][1]您能提供到目前为止您所做的工作吗?也许组件就是您要寻找的?我认为聚合器将合并两个文件,而我只需要在两个特定文件位于一个目录中时触发路由。我有两条路径,它们都可以移动文件。路由A将移动两个文件并将它们复制到它的“完成”目录。路由B将由存放在路由a的done dir中的文件触发。我需要路由B等待,直到两个文件都被A移动到完成。谢谢你的回答。最后,我在路由B上使用了DefaultPollingConsumerPollStrategy的扩展。因此,在begin方法中,只有当路由A移动的两个文件都存在于“done”文件夹中时,我才返回true。这会导致路由B在满足该条件之前不移动其文件。