问题描述
使用"bin\win64\activemq.bat"启动apache-activemq-5.18.2出错。
bash
jvm 1 | ERROR | Failed to start Apache ActiveMQ (localhost, ID:)
jvm 1 | java.io.IOException: Transport Connector could not be registered in JMX: java.io.IOException: Failed to bind to server socket: mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600 due to: java.net.BindException: Address already in use: bind
原因分析
ActiveMQ无法绑定到mqtt://0.0.0.0:1883端口,端口已经被其他进程占用。
但是cmd输入命令:
bash
netstat -ano | findstr 1883
无结果返回。
解决方案
修改conf\activemq.xml
。
找到:
bash
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
改为:
bash
<transportConnector name="mqtt" uri="mqtt://0.0.0.0:18833?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
重新启动ActiveMQ,启动成功。
bash
jvm 1 | INFO | ActiveMQ WebConsole available at http://127.0.0.1:8161/
jvm 1 | INFO | ActiveMQ Jolokia REST API available at http://127.0.0.1:8161/api/jolokia/