在 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)
我使用 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)