当前位置: 首页 > 知识库问答 >
问题:

GlassFish群集实例中的JMS队列未同步

闻人越
2023-03-14

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

我在GlassFish集群中创建了2个实例,创建了一个JMS QueueConnectionFactory,创建了一个JMS队列。他们的目标对准了集群。然后,我在集群中部署了web应用程序和MessageDrivenBean模块。web应用程序向JMS队列发送文本消息。这里一切都很好,比如消息被发送到队列,并由两个实例中的消息驱动bean提供服务。

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

我正在使用OpenMQ,GlassFish 3.1.1,我已经在GlassFish中打开了HA(高可用性)选项,但它仍然不起作用。

谢啦

共有1个答案

松飞翮
2023-03-14

GlassFishe的高可用性选项和Message Queue的高可用性选项是单独配置的。您需要将消息队列群集配置为“增强群集”,而不是“常规群集”。GlassFish3.1高可用性管理指南对此进行了描述。

 类似资料:
  • 我已经用目标服务器和集群创建了集群“MyCluster”、两个本地实例和资源jms/queue1、jms/queue2和jms/topic。 > create-cluster mycluster create-instance--node localhost-domain1--cluster mycluster instance01 create-instance--node localhost-

  • 如何从weblogic JMS队列中清除/删除消息 我的是一个集群环境,在服务中使用。 获取以下异常。

  • 使用节点。js集群支持,我希望主进程生成添加到Redis队列的数据项。然后,我想运行多个读取Redis队列的工作进程。当然,只有一个工作进程应该使用从队列中检索到的数据项。 为了让我开始学习,您能建议从节点包支持或原始Redis命令的角度来完成这项工作吗?让我强调一下,消费者是节点中独立的进程。js集群环境,我们可以在其中调整竞争从单个Redis队列读取的工作进程的数量,以调整整体系统性能。

  • 我有一个要求,其中我的一些quartz作业应该以集群方式运行(三个节点中只有一个应该运行该作业),而一些作业应该以非集群方式运行(三个节点中的所有三个都应该运行该作业)。 2个quartz.properties一个用于群集实例,一个用于非群集实例。 群集的两个实例都将在应用程序启动时启动。 因此,在非群集排定程序下配置的作业将以排定程序名称NON_CLST_SCHE保存在jobs表中,在同一表中以

  • 例如,当我们在EJB3中配置监听JMS队列的MDB实例的数量时,