问题描述:
Linux环境下 Apache ActiveMQ 启动报错
Failed to start Apache ActiveMQ ([localhost, ID:tracker_ip-57363-1523537743133-0:1], java.net.URISyntaxException: Illegal character in hostname at index 12:
ws://tracker_ip:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600) | org.apache.activemq.broker.BrokerService | main
|
解决方案:
将 activemq.xml 文件中
transportConnectors/transportConnector
uri
属性中的 0.0.0.0
替换成你主机的域名,或者127.0.0.1
<transportConnectors>
<!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
<transportConnector name="openwire" uri="tcp://127.0.0.1:61616?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="amqp" uri="amqp://127.0.0.1:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="stomp" uri="stomp://127.0.0.1:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="mqtt" uri="mqtt://127.0.0.1:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
<transportConnector name="ws" uri="ws://127.0.0.1:61614?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/>
</transportConnectors>
如果 127.0.0.1仍然启动失败,直接替换成主机ip。
原因分析:
查看activemq日志:
cat /activemq-5.14.2/data/activemq.log 结果如下:
java.net.URISyntaxException: Illegal character in hostname
问题解决啦!!!