在 Spring Boot JMS 中更改 ActiveMQ 代理 JMX 端口 1099

Change ActiveMQ broker JMX port 1099 in Spring Boot JMS

我使用 Spring 使用嵌入式 Active-MQ 作为 JMS 提供程序启动,它工作得很好但是:我需要在一台主机上 运行 多个实例。当我启动第二个实例时,出现以下错误:

    2018-12-17 17:23:25.498  WARN 11042 --- [JMX connector] o.a.a.broker.jmx.ManagementContext       : Failed to start JMX connector Cannot bind to URL [rmi://localhost:1099/jmxrmi]: javax.naming.NameAlreadyBoundException: jmxrmi [Root exception is java.rmi.AlreadyBoundException: jmxrmi]. Will restart management to re-create JMX connector, trying to remedy this issue.

这当然是因为1099端口已经被第一个实例占用了。遗憾的是,我真的找不到使用任何 spring.activemq.* 属性 或 ActiveMQConnectionFactoryCustomizer 的实例来更改此端口的方法。谁能帮帮我?

此致,多米尼克

你还需要jmxrmi吗? 您可以禁用它(至少对于您的一个实例):

org.apache.activemq.broker.jmx.createConnector=false

(在 application.properties 中或使用 VM 参数 -Dorg.apache.activemq.broker.jmx.createConnector=false)