我有这个需要不时执行的同步管道(假设每30分钟一次):
Class A
)并将其添加到路线上下文中; Class B
)并做一些逻辑; Class C
)并做一些逻辑; 它是使用Java DSL创建的单个管道。如果发生错误,则该过程停止。 我真的在与Camel挣扎来创造这个。有可能或我需要手动处理吗?我创建了一些演示,但没有一个能正常工作。
任何帮助将不胜感激。
答案 0 :(得分:1)
您描述消息管道的方式似乎有3个单独的路由,每个路由处理FTP服务器中的不同文件夹。你可以有一个计时器,每隔30分钟触发一次。 FTP组件派生自Camel的File Component,并且有很多有用的参数可以帮助您处理路由逻辑。
对于您的3条路线中的每条路线,您都会遇到以下情况:
from("ftp://foo@myserver?include=*.xml&preMove=processingFolder&move=doneFolder&moveFailed=errorFolder")
.unmarshal()
...
您可以通过扩展程序here
找到有关过滤文件的详细信息答案 1 :(得分:1)
我会按以下方式处理:
您读取文件的FTP的所有接口都是单独的路由。他们的工作只是拿起文件。它们不涉及解析或转换。
然后创建单独的路由以实际接收数据,解析和转换。
最后是将数据传送到您的最终目的地的送货路线。
通过这种方式,您可以自定义错误处理,更容易找出出错的地方,更轻松地更改一个部件而不会影响所有部分,并且您可以在多个不同部分重复使用这些路径。