Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当JAVA_主页指向JRE 1.8时,无法使用activemq-admin.bat停止JMS代理_Java_Apache_Java 8_Activemq - Fatal编程技术网

当JAVA_主页指向JRE 1.8时,无法使用activemq-admin.bat停止JMS代理

当JAVA_主页指向JRE 1.8时,无法使用activemq-admin.bat停止JMS代理,java,apache,java-8,activemq,Java,Apache,Java 8,Activemq,当JAVA_主页指向JRE(1.8.111)时,我无法使用activemq-admin.bat脚本停止JMS代理。使用JDK时,问题不会出现。 在脚本中,未注释ACTIVEMQ_SUNJMX_START参数,默认端口更改为61099,如下所示: "set ACTIVEMQ_SUNJMX_START=-Dcom.sun.management.jmxremote.port=61099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.su

当JAVA_主页指向JRE(1.8.111)时,我无法使用activemq-admin.bat脚本停止JMS代理。使用JDK时,问题不会出现。 在脚本中,未注释ACTIVEMQ_SUNJMX_START参数,默认端口更改为61099,如下所示:

"set ACTIVEMQ_SUNJMX_START=-Dcom.sun.management.jmxremote.port=61099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
不知怎的,端口看起来被忽略了

我们需要JDK来阻止代理吗? 有什么想法吗

JRE 1.8.111

路径\bin>调用“.\middleware\apache-activemq-5.14.0\bin\activemq admin.bat”“停止”
Java运行时:Oracle Corporation 1.8.0_111 C:\Program Files\Java\jre1.8.0_111
堆大小:当前=251392k自由=248770k最大=3706880k
JVM参数:-Dactivemq.classpath=PATH\middleware\apache-activemq-5.14.0\bin..\conf_程序\数据\中间件\ apache-activemq-5.14.0-Dactivemq.home=PATH\middleware\apache-activemq-5.14.0\bin-Dactivemq.base=PATH\middleware\apache-activemq-5.14.0\bin-Dactivemq.data=\u程序\数据\中间件\ apache-activemq-5.14.0-Djava.io.tmpdir=\u程序\数据\中间件\ apache-activemq-5.14.0\tmp-Dactivemq.conf=PATH\middleware\apache-activemq-5.14.0\bin..\conf
扩展类路径:
[PATH\middleware\apache-activemq-5.14.0\bin..\lib,PATH\middleware\apache-activemq-5.14.0\bin..\lib\camel,PATH\middleware\apache-activemq-5.14.0\bin..\lib\lib\lib\lib\web,PATH\middleware\apache-activemq-5.14.0\bin..\lib\extra]
ACTIVEMQ_HOME:PATH\middleware\apache-ACTIVEMQ-5.14.0\bin。。
ACTIVEMQ_BASE:PATH\middleware\apache-ACTIVEMQ-5.14.0\bin。。
ACTIVEMQ_CONF:PATH\middleware\apache-ACTIVEMQ-5.14.0\bin..\CONF
ACTIVEMQ\ U数据:\程序\数据\中间件\ apache-ACTIVEMQ-5.14.0
连接到JMX URL:服务:JMX:rmi:///jndi/rmi://localhost:1099/jmxrmi
信息:代理在以下位置不可用:服务:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

JDK 1.8.111

路径\bin>调用“.\middleware\apache-activemq-5.14.0\bin\activemq admin.bat”“停止”
Java运行时:Oracle Corporation 1.8.0_111 C:\Program Files\Java\jdk1.8.0_111\jre
堆大小:当前=251392k自由=248770k最大=3706880k
JVM参数:-Dactivemq.classpath=PATH\middleware\apache-activemq-5.14.0\bin..\conf_程序\数据\中间件\ apache-activemq-5.14.0-Dactivemq.home=PATH\middleware\apache-activemq-5.14.0\bin-Dactivemq.base=PATH\middleware\apache-activemq-5.14.0\bin-Dactivemq.data=\u程序\数据\中间件\ apache-activemq-5.14.0-Djava.io.tmpdir=\u程序\数据\中间件\ apache-activemq-5.14.0\tmp-Dactivemq.conf=PATH\middleware\apache-activemq-5.14.0\bin..\conf
扩展类路径:
[PATH\middleware\apache-activemq-5.14.0\bin..\lib,PATH\middleware\apache-activemq-5.14.0\bin..\lib\camel,PATH\middleware\apache-activemq-5.14.0\bin..\lib\lib\lib\lib\web,PATH\middleware\apache-activemq-5.14.0\bin..\lib\extra]
ACTIVEMQ_HOME:PATH\middleware\apache-ACTIVEMQ-5.14.0\bin。。
ACTIVEMQ_BASE:PATH\middleware\apache-ACTIVEMQ-5.14.0\bin。。
ACTIVEMQ_CONF:PATH\middleware\apache-ACTIVEMQ-5.14.0\bin..\CONF
ACTIVEMQ\ U数据:\程序\数据\中间件\ apache-ACTIVEMQ-5.14.0
useJmxServiceUrl找到JMS Url:服务:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+flggiaahyabxqyxzhlnjtas5zzxj2z
XiuumVTB3RLT2JQZWN002G0KQXHMX4DAB4DAB4CHC5AATVBMLJYXN0UMMGAADJE5MI4XNJGUMTAWLJIWAAD9NHXSMR+4或Q3LLSK9WAAAVHXZDSYAEA==
连接到pid:5020
停止代理:MYBROKER

这是因为ActiveMQ使用自动发现JMX URL。要使用此API,类将从
$JAVA\u HOME\..\lib\tools.jar
加载。由于
tools.jar
是JDK的一部分(请参阅),对于JRE(而不是JDK
$JDK\u HOME\JRE
)来说,这将失败

要使用JRE停止代理,必须提供JMX URL

set ACTIVEMQ_OPTS=-Dactivemq.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:61099/jmxrmi
activemq-admin.bat stop
连接消息如下所示

Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:61099/jmxrmi

这是因为ActiveMQ使用自动发现JMX URL。要使用此API,类将从
$JAVA\u HOME\..\lib\tools.jar
加载。由于
tools.jar
是JDK的一部分(请参阅),对于JRE(而不是JDK
$JDK\u HOME\JRE
)来说,这将失败

要使用JRE停止代理,必须提供JMX URL

set ACTIVEMQ_OPTS=-Dactivemq.jmx.url=service:jmx:rmi:///jndi/rmi://localhost:61099/jmxrmi
activemq-admin.bat stop
连接消息如下所示

Connecting to JMX URL: service:jmx:rmi:///jndi/rmi://localhost:61099/jmxrmi

谢谢你的回答。我试试看。谢谢你的回答。我试试看。