我编写了一个从FTP服务器提取文件并对其进行一些消息转换的驼峰路由。一个示例场景是我每隔1小时轮询一次FTP服务器。如果过去12小时内没有提取任何文件,我想发送提醒通知。
我已阅读this other stackoverflow question并添加了sendEmptyMessageWhenIdle = true选项,以便我可以判断何时没有轮询新邮件。但是,如果在X时间之后没有轮询消息,我只想发送警报。我一直在考虑使用一个每X时间发送一次警报的计时器,但是如果轮询了一条新消息,那么计时器的倒计时就会被刷新。有谁知道如何实现这样的计时器?是否有更简单的方法提醒我没有想到?
无关的问题,当FTP登录用户名包含" @"时使用的语法是什么?符号?这样的事情:from(" ftp:user @ server @ ftpserver.com / password = password")
先谢谢你们
答案 0 :(得分:1)
计时器的替代方法可能是在您第一次收到空消息时进行记录。存储日期和时间然后继续进行轮询。每当您点击另一条空信息时,请检查日期和时间差是否大于阈值,然后发出警报。
如果您收到空消息,然后您轮询某些内容,则重置该状态。它是一个非常简单的有限状态机,您需要编码。可能不如计时器笨拙。
只是一个想法。