JMS自动持续和自动恢复

时间:2015-08-18 13:46:16

标签: database jms persistence data-recovery

我试图解决下一个任务:

  1. 我有1个输出队列和1个输入队列和数据库。
  2. 如果输出队列不可用,我需要将所有输入消息保存到DB。
  3. 输出队列一旦可用,输入队列(或代理)就应该开始从DB发送所有消息,同时从DB中删除这些消息。所有这些都应该自动完成,而不是手动完成。
  4. 任何消息代理(ActiveMQ,RabbitMQ)都有#34;开箱即用"解决与否?

1 个答案:

答案 0 :(得分:1)

我认为任何消息传递提供商都不提供您所要求的开箱即用支持。你需要编写一个应用程序来完成这项工作。应用程序可以非常简单,它使用全局事务来协调将消息放入队列并从数据库中删除。

如果您的业务逻辑允许,我建议您查看在放入输入队列时使用持久性消息的可能性。这样,当输出队列不可用时,您可以避免将消息持久保存到数据库。当输出队列可用时,您的应用程序可以从输入队列中拉出消息,处理并放入输出队列。