我们正在使用Camel构建Java应用程序,以便在两个FTP位置之间传输文件。有没有办法获得成功传输文件的通知?我们不允许使用JMS解决方案来构建应用程序。
答案 0 :(得分:1)
我希望您可以创建另一个路由并将seda / vm作为端点。此端点需要在ftp端点之后调用。
<route id="MainRoute">
<from uri="ftp:RemoteLocation"/>
<from uri="seda:Retry"/>
<to uri="seda:MyLog"/>
<!--Your Main Processing logic -->
</route>
<route id="Notification-processor">
<from uri="seda:MyLog"/>
<!--Your Logging/Notification Processing logic -->
</route>
在上述Notification-processor场景中,您可以进行自定义通知/日志活动。这是您的自定义通知逻辑。如果您需要通知异常情况,您可以在通知处理器中找到发送通知的终端。
你需要编写逻辑来检查消息是否完整,否则你可以在Notification-processor中调用一个bean,它可以有动态路由从ftp位置提取特定文件并重新处理它。如下所示
<route id="Notification-processor">
<from uri="seda:MyLog"/>
<!--Anomaly checker -->
<to uri="seda:Retry"/>
<!--Your Logging/Notification Processing logic -->
</route>