我应该缓存多少消息ID以避免ActiveMQ中出现重复消息?

时间:2017-03-09 04:21:25

标签: activemq

我应该缓存多少消息ID以避免ActiveMQ中出现重复消息?我想要手卷解决方案。没有额外的罐子,所以请不要建议Apache Camel等。

EDIT 我有一个与tomcat服务器集成的ActiveMQ。当服务器运行时,我维护消息ID的缓存以清除任何重复的消息。当我想关闭服务器时,我希望在RDBMS中保留此缓存。现在,如果服务器长时间在线,这个缓存将变得太大。所以,我想要保留最后几条消息的消息ID。现在应该是这个消息ID的数量,所以我可以安全地假设有任何重复的消息。我也不想在服务器启动时通过设置deleteAllMessagesOnStartup =" true"来清除所有消息。

1 个答案:

答案 0 :(得分:0)

尽管MessageID不仅是确保重复的方法,但最好还是查看一些有效负载属性。

但是,除非您永远保存所有ID,否则无法保证不会重复。只会降低它们出现的可能性。

示例:某些技术人员从三年前的备份磁带中恢复文件,其中包含已经发送的邮件。可能吗?也许不是。 100%安全吗? - 不。

您最了解您的组织 - 这是多么重要,有多少消息。通常,通过保持ID:s短时间来处理系统重启,系统恢复等,可以大大降低风险。就像一天左右。