我已经配置了两个服务器和一个活动的mq服务器。
一台服务器将发送一条JMS消息,另一台服务器将从活动mq服务器接收JMS消息。
通常,我们将逐个启动active mq服务器和服务器。
现在,其中一个服务器get成功启动,而另一个则抛出绑定异常,端口为1099,已经绑定。
我已经验证了所有进程都没有使用端口1099。
如果解决方案不可行,则需要解决方法。
异常堆栈跟踪
[Apr 10 09:58:37] [/] WARN org.apache.activemq.broker.jmx.ManagementContext
(JCLLoggerAdapter.java:359) - Failed to start jmx connector: Cannot bind to URL
[rmi://localhost:1099/jmxrmi]: javax.naming.NameAlreadyBoundException: jmxrmi [Root
exception is java.rmi.AlreadyBoundException: jmxrmi]
[Apr 10 09:58:37] [/] WARN org.apache.activemq.broker.jmx.ManagementContext
(JCLLoggerAdapter.java:359) - Failed to start jmx connector: Cannot bind to URL
[rmi://localhost:1099/jmxrmi]: javax.naming.NameAlreadyBoundException: jmxrmi [Root
exception is java.rmi.AlreadyBoundException: jmxrmi]
[Apr 10 09:58:37] [/] DEBUG org.apache.activemq.broker.jmx.ManagementContext
(JCLLoggerAdapter.java:245) - Reason for failed jms connector start
java.io.IOException: Cannot bind to URL [rmi://localhost:1099/jmxrmi]:
javax.naming.NameAlreadyBoundException: jmxrmi [Root exception is
java.rmi.AlreadyBoundException: jmxrmi]
at 谢谢。
发布于 2014-04-10 14:30:26
正如所提供的堆栈跟踪所描述的,两个服务器都在同一端口上启用了远程JMX。在JVM级别使用JMX选项来调优-Dcom.sun.management.jmxremote.port=portNum端口,或者通过删除-Dcom.sun.management.jmxremote选项来完全禁用远程JMX。这些选项通常位于ActiveMQ启动脚本中。
https://stackoverflow.com/questions/22978487
复制相似问题