Java 无法为多个主题设置多个ActiveMQ侦听器';设置clientId时,无法在spring启动项目中连接
我使用的是SpringBootStarterActiveMQ 当我尝试使用多个监听器来听一个不同的主题,每个主题都有clientId时,只有一个监听器能够随机连接到一个主题,其余的则不连接,表示已经连接到给定的clientId 下面是属性集Java 无法为多个主题设置多个ActiveMQ侦听器';设置clientId时,无法在spring启动项目中连接,java,spring,spring-boot,activemq,spring-boot-starter,Java,Spring,Spring Boot,Activemq,Spring Boot Starter,我使用的是SpringBootStarterActiveMQ 当我尝试使用多个监听器来听一个不同的主题,每个主题都有clientId时,只有一个监听器能够随机连接到一个主题,其余的则不连接,表示已经连接到给定的clientId 下面是属性集 spring.activemq.broker-url=tcp://localhost:61616?jms.clientID=test spring.jms.listener.acknowledge mode=auto spring.jms.listener
- 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
已从连接tcp://localhost:61616*根据JMS规范,不能将多个客户端连接到具有相同客户端ID的代理。如果您只订阅主题而没有持久订阅,那么您不需要客户端ID,但是如果您确实需要持久订阅,那么您的每个客户端都需要有一个唯一的ID才能正常工作 在Spring 3.2.3中,我可以用相同的客户端Id听同一个代理的不同主题,但是当我在Spring boot中尝试相同的内容时,它失败了。这意味着没有设置客户端Id,或者所有订阅者都使用相同的池连接。JMS规范已明确,无法从多个连接中使用相同ID进行连接。