1

我在 CLUSTERED Glassfish 3.1.1 中使用消息驱动 Bean 时遇到问题。问题在于 Glassfish 中的队列,实例之间的队列不同步。我正在尽力解释下面的情况。

我在 GlassFish 集群中创建了 2 个实例,创建了一个 JMS QueueConnectionFactory,创建了一个 JMS 队列。他们的目标是朝着集群。然后我在集群中部署了 Web 应用程序和 MessageDrivenBean 模块。Web 应用程序将 TextMessage 发送到 JMS 队列。这里一切正常,就像消息被发送到队列并由两个实例中的消息驱动 bean 提供服务。

然后我禁用 MessageDrivenBean 模块。请求将消息发送到两个实例中的 JMS 队列的 Web 应用程序。然后我关闭了 myInstance2。在集群中重新部署 MDB。现在问题来了,MessageDrivenBean 只接收 myInstance1 的消息,而不接收发送到 myInstance2 队列的消息。myInstance2 队列中的消息仅在 myInstance2 启动时提供。任何人都可以在这里帮助我使用 GlassFish 用于同步两个实例中的队列的设置,以便即使出于某种原因,当一个实例关闭并且该实例的队列中有消息时,另一个实例也会获取该队列的消息并且为他们服务。

我正在使用 OpenMQ、GlassFish 3.1.1 并且我在 GlassFish 中打开了 HA(高可用性)选项,但它仍然无法正常工作。

谢谢

4

1 回答 1

1

GlassFish 的高可用性选项和 Message Queue 的高可用性选项是单独配置的。您需要将消息队列集群配置为“增强型集群”而不是“传统集群”。GlassFish 3.1 高可用性管理指南中对此进行了描述。

于 2013-10-10T15:20:37.243 回答