java - 设置clientId时,多个主题的多个ActiveMQ侦听器无法在spring boot项目中连接
问题描述
我正在使用 spring-boot-starter-activemq。
当我尝试使用多个侦听器进行侦听时,每个侦听器都针对具有 clientId 的不同主题,然后只有一个侦听器能够随机连接到一个主题,剩余的不连接说已经与给定的 clientId 连接。
下面是属性集
- spring.activemq.broker-url =tcp://localhost:61616?jms.clientID=test
- spring.jms.listener.acknowledge-mode=auto
spring.jms.listener.concurrency=1
spring.jms.pub-sub-domain=true
==================================================== =======================
错误信息
无法刷新目标“TOPIC_1”的 JMS 连接 - 使用 FixedBackOff{interval=5000, currentAttempts=5, maxAttempts=unlimited} 重试。原因:代理:pdt-topics - 客户端:测试已从 tcp://localhost:61616* 连接
解决方案
根据 JMS 规范,您不能将多个客户端连接到具有相同客户端 ID 的代理。如果您只订阅没有持久订阅的主题,那么您不需要客户端 ID,但如果您确实想要持久订阅,那么您的每个客户端都需要有一个唯一的 ID 才能正常工作。
推荐阅读
- recursion - 数字根递归算法
- r - 查找列的总和低于 R 中给定值的行
- mysql - MySQL TRIM 前导空格按子句问题排序
- python-3.x - 无法在 python 3.x 中安装 wsgiref
- node.js - Mongoose:Model.find() 通过布尔值过滤时返回一个空数组
- google-chrome - 什么决定了移动浏览器上 .txt 文档的视口(初始比例)?
- python-3.x - 如何在 python 中从大型 CSV 文件中读取所需的行
- python - 过滤操作时在pyspark操作中合并两个rdd
- python - IndexError: too many indices for array ... 运行此代码时出错
- json - 自定义 JSON 结构 Unmarshal