我有基于JBoss的JMS实现(确切地说,JBoss4.2上的JBossMQ)。有5个集群,每个集群都有很少的节点。每个集群中的一个节点充当主节点。在5个集群中,其中一个集群应该将消息发布到持久性主题,其他4个集群使用这些消息。发布和使用仅由每个集群的主节点完成。
我想设置一种机制,让发布者知道所有订阅者都使用了该消息,或者订阅者知道它已经消耗了发布者生成的所有消息。如何实现这一目标?
答案 0 :(得分:0)
原则上,您使用JMS系统是为了不关心它,只按您需要的方式配置它。您可以将状态信息保存在共享资源(如数据库)中,但我不会这样做。更好地使用JMS系统的监视功能以跟踪它。如果您的应用程序确实需要知道消息的成功处理,那么您可以拥有一个队列,其中进程确认将返回给发件人。
对于可能与JBoss一起使用的HornetQ,你会找到一个clustered topic here的例子。