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

无法在3 HA群集架构上使用相同的clientId

谢同化
2023-03-14

我使用的是ActiveMQ Artemis集群,由3个代理(1个主代理,2个从代理)组成,使用UDP广播设置。

ActiveMQ Artemis按预期启动,但是当尝试使用SAG webMethods创建JMS连接时,它返回错误:

clientID=activemq was already set into another connection
    null

ActiveMQ Artemis支持JMS2.0,多个客户端指向同一个ClientID/目的地应该是可能的,对吗?它允许共享订阅。

我在这里错过了什么?我根本没有创建任何主题,我只想首先在3个服务器上建立JMS连接。

共有1个答案

茹高义
2023-03-14

ActiveMQ Artemis确实支持JMS2.0,因此支持共享持久订阅,但JMS2规范第6.1.2节指出:

客户端标识符的目的是将连接及其对象与提供者代表客户端维护的状态相关联。根据定义,由客户机标识符标识的客户机状态一次只能由一个客户机“正在使用”。JMS提供程序必须防止并发执行的客户端使用它。

...

因此,出现异常的原因是因为您试图违反JMS规范。请为每个持久订阅服务器设置唯一的客户端标识符,如果使用的是共享持久订阅,请省略客户端标识符。

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

  • 火花-应用: scala1.scala//我从这个类调用java类。 java.java//这将向yarn集群提交另一个spark应用程序。 我的项目的目录结构如下所示: 下面是调用第二个Spark应用程序的java代码: 用于在本地运行第一个spark应用程序的spark-submit命令:

  • 正如标题所预期的,我在向docker上运行的spark集群提交spark作业时遇到了一些问题。 我在scala中写了一个非常简单的火花作业,订阅一个kafka服务器,安排一些数据,并将这些数据存储在一个elastichsearch数据库中。 如果我在我的开发环境(Windows/IntelliJ)中从Ide运行spark作业,那么一切都会完美工作。 然后(我一点也不喜欢java),我按照以下说明添

  • 本文向大家介绍使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法,包括了使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法的使用技巧和注意事项,需要的朋友参考一下 本文参考kubernetes官网文章Installing Kubernetes on Linux with kubeadm在CentOS7.2使用Kubeadm部署Kuebernetes集

  • Mesosphere在简化Mesos上运行Spark的过程方面做了很大的工作。我正在使用本指南在Google Cloud Compute上建立一个开发Mesos集群。 https://mesosphere.com/docs/tutorials/run-spark-on-mesos/ 我可以使用运行指南中的示例(查找小于10的数字)。但是,当我试图在本地提交一个与Spark一起正常工作的应用程序时,

  • 我正在使用微软。蔚蓝色的数据计划主义。ApacheAvro 1.0.0-beta1和我正在尝试使用avro架构将事件发送到eventhub,但由于某种原因azure响应为BadRequest:Code“:400,“Detail:”架构验证失败:解析未定义的值路径“u0022typeu0022”时出错,第1行,位置17。我使用的是微软提供的例子,但我也没有运气。 记录={Schema:{“type”