1

我们正在使用 Camel 构建 Java 应用程序以在两个 FTP 位置之间传输文件。有没有办法获得有关文件传输成功的通知?我们不允许使用 JMS 解决方案来构建应用程序。

4

1 回答 1

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>

在上述通知处理器场景中,您可以拥有自定义通知/日志活动。这是您的自定义通知逻辑。如果您需要通知异常,您可以在通知处理器中有一个 to 端点来发送通知。

您需要编写逻辑来检查消息是否完整,如果不是,您可以在通知处理器中调用一个 bean,它可以具有动态路由从 ftp 位置提取特定文件并重新处理它。像下面

<route id="Notification-processor">
<from uri="seda:MyLog"/>
<!--Anomaly checker  -->
<to uri="seda:Retry"/>
<!--Your Logging/Notification Processing logic -->
</route>
于 2014-11-23T18:03:04.267 回答