有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JMS可靠性,处理服务器故障

我正在尝试使用ActiveMQ创建一个可靠的JMS环境。我计划采用JDBC主从集群方法,在这种方法中,我可以将主服务器接收到的消息持久化到数据库,并且从服务器可以选择这些消息,并在主服务器死亡时运行它们。但我没有一个解决方案,在这种情况下,主人和奴隶都会倒下(由于任何原因)。如果发生这种情况,制作人发送的信息会永远丢失吗?我可以做一些事情,比如将消息持久化到数据库,并在其中一个JMS服务器恢复后执行它们,但是有更好的/内置的解决方案来处理这种情况吗


共 (1) 个答案

  1. # 1 楼答案

    I can do something like persisting messages to database and executing them after one of the JMS servers recover, but is there a better/built-in solution to handle such scenarios?

    你的想法是对的。如果制作人无法连接,在正常情况下,它将抛出异常。你想要一个存储转发(SAF)制作人;如果客户端无法到达目的地,消息将存储在客户端文件系统的本地,并在客户端与代理重新连接时发送

    根据nos在下面的评论,ActiveMq似乎支持store-and-forward为客户端使用本地存储。我已经要求nos提交他的评论作为答案