我有 mule 流,我使用 JMS 轮询每 5 分钟轮询一次队列并处理队列中的所有消息。每当实体有一些更新时,我都会在队列中收到消息。每当我看到消息时,我都会从消息中提取唯一 ID,并使用它通过 Web 服务调用检索更新的实体。实体可以多次更新,所以我需要捕获所有更新。例如,如果队列中有 10 条消息引用同一个实体更新,那么我需要忽略 9 条消息并只使用一条,因为所有消息都引用同一个实体。我尝试为此使用幂等消息过滤器。但它第一次运行良好。当应用程序在 5 分钟后第二次从队列中读取消息(轮询频率)并且有同一实体的消息(更新)时,幂等消息过滤器会忽略这些消息。理想情况下,应用程序应该在将来以及在不同的轮询间隔期间使用相同的消息(如果有的话)。只有在一个时间间隔内发现重复消息时,它才应该忽略这些消息。但是如果在未来的时间间隔内发现,那么它应该重复它在第一个时间间隔内执行的相同处理(忽略重复并只处理一个)。
我希望我能够解释我的问题。
任何帮助将不胜感激。
谢谢,维杰