activemq:INFO: Broker not available at: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

(win7系統下)我用jdk7下啓動apache activemq 5.14.5服務後,在用命令activemq stop停止服務時遇到文章標題的錯誤,服務沒有被停止。

C:\ >activemq stop
Java Runtime: Oracle Corporation 1.7.0_55 C:\Program Files\Java\jdk1.7.0_55\jre
Heap sizes: current=1005568k free=995061k max=1005568k
JVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=D:/j/apache-activemq-5.14.5\conf\login.config -Dactivemq.classpath=D:/j/apache-activemq-5.14.5\conf;D:/activemq-default/conf;D:/j/apache-activemq-5.14.5/conf; -Dactivemq.home=D:/j/apache-activemq-5.14.5 -Dactivemq.base=D:/activemq-default -Dactivemq.conf=D:/j/apache-activemq-5.14.5\conf -Dactivemq.data=D:/j/apache-activemq-5.14.5\data -Djava.io.tmpdir=D:/j/apache-activemq-5.14.5\data\tmp
Extensions classpath:
[D:\activemq-default\lib,D:\j\apache-activemq-5.14.5\lib,D:\activemq-default\lib\camel,D:\activemq-default\lib\optional,D:\activemq-default\lib\web,D:\activemq-default\lib\extra,D:\j\apache-activemq-5.14.5\lib\camel,D:\j\apache-activemq-5.14.5\lib\optional,D:\j\apache-activemq-5.14.5\lib\web,D:\j\apache-activemq-5.14.5\lib\extra]
ACTIVEMQ_HOME: D:\j\apache-activemq-5.14.5
ACTIVEMQ_BASE: D:\activemq-default
ACTIVEMQ_CONF: D:\j\apache-activemq-5.14.5\conf
ACTIVEMQ_DATA: D:\j\apache-activemq-5.14.5\data
Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
INFO: Broker not available at: service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

顯然這是關於JMX的問題,對於JMX我只知道個概念,這會學習已經來不及了,
網上找到一些關於這個問題的信息,都是基於5.8左右的版本,而我用的這個5.14.5版本是最後一個JDK7的版本(2017),按理說也是挺新的了,爲什麼還有這個問題呢?

在google上一通找,看到這個stackoverflow上的帖子:
https://stackoverflow.com/questions/19093003/apache-activemq-browser-cant-connect-to-jmx-console

在這裏插入圖片描述
看到上面這位仁兄提到一句話:Since JDK7u4....讓我意識到,這個問題可能與JDK版本有關。

我果然切換到JDK8,再執行命令activemq stop停止服務,一切正常

C:\Users\guyadong>activemq-default stop
Java Runtime: Oracle Corporation 1.8.0_111 C:\Program Files\Java\jdk1.8.0_111\jre
Heap sizes: current=1005056k free=989327k max=1005056k
JVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Djava.security.auth.login.config=D:/j/apache-activemq-5.14.5\conf\login.config -Dactivemq.classpath=D:/j/apache-activemq-5.14.5\conf;D:/activemq-default/conf;D:/j/apache-activemq-5.14.5/conf; -Dactivemq.home=D:/j/apache-activemq-5.14.5 -Dactivemq.base=D:/activemq-default -Dactivemq.conf=D:/j/apache-activemq-5.14.5\conf -Dactivemq.data=D:/j/apache-activemq-5.14.5\data -Djava.io.tmpdir=D:/j/apache-activemq-5.14.5\data\tmp
Extensions classpath:
[D:\activemq-default\lib,D:\j\apache-activemq-5.14.5\lib,D:\activemq-default\lib\camel,D:\activemq-default\lib\optional,D:\activemq-default\lib\web,D:\activemq-default\lib\extra,D:\j\apache-activemq-5.14.5\lib\camel,D:\j\apache-activemq-5.14.5\lib\optional,D:\j\apache-activemq-5.14.5\lib\web,D:\j\apache-activemq-5.14.5\lib\extra]
ACTIVEMQ_HOME: D:\j\apache-activemq-5.14.5
ACTIVEMQ_BASE: D:\activemq-default
ACTIVEMQ_CONF: D:\j\apache-activemq-5.14.5\conf
ACTIVEMQ_DATA: D:\j\apache-activemq-5.14.5\data
useJmxServiceUrl Found JMS Url: service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc3AAtVbmljYXN0UmVmMgAADDE5Mi4xNjguNTYuMQAAF2NrDem6Kg8DV7ojMEwAAAFvrBzmRYABAHg=
Connecting to pid: 9804
Stopping broker: localhost

網上很多文章從都從activemq啓動配置(conf/activemq.xml)中修改jmx相關配置來解決,但我還不太理解。
對於我來說,目前切換到JDK8更方便,就先用這個辦法了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章