我在CLUSTERED Glassfish 3.1.1中使用Message Driven Beans时遇到问题。问题在于Glassfish中的队列,实例之间的队列不同步。我正在努力解释下面的情况。
我在GlassFish集群中创建了2个实例,创建了一个JMS QueueConnectionFactory,创建了一个JMS Queue。他们的目标是针对集群。然后我在集群中部署了Web应用程序和MessageDrivenBean模块。 Web应用程序将TextMessage发送到JMS队列。 这里的一切都运行良好,比如消息被发送到队列并由两个实例中的消息驱动bean提供服务。
然后我禁用MessageDrivenBean模块。请求Web应用程序将消息发送到两个实例中的JMS队列。然后我关闭myInstance2。在群集中重新部署MDB。现在问题是,MessageDrivenBean只接收myInstance1的消息,而不是发送到myInstance2队列的消息。 myInstance2队列中的消息仅在myInstance2启动时提供。任何人都可以帮助我使用GlassFish用来同步实例中的队列的设置,这样即使出于某种原因,当一个实例关闭并且该实例的队列中有消息时,另一个实例将获取该队列的消息,为他们服务。
我正在使用OpenMQ,GlassFish 3.1.1并且我在GlassFish中打开了HA(高可用性)选项,但它仍然不起作用。
由于
答案 0 :(得分:1)
GlassFish的高可用性选项和Message Queue的高可用性选项是单独配置的。您需要将消息队列群集配置为“增强群集”而不是“常规群集”。这在GlassFish 3.1 High Availability Administration Guide。
中有所描述