java Windows上的ActiveMQ启动问题-jolokia-access.xml的文件未找到异常

mzmfm0qo  于 2023-03-06  发布在  Java
关注(0)|答案(6)|浏览(386)

我下载并解压缩了最新的ActiveMQ版本5.17.1。我使用的是Java 11.0.11和Windows 10企业版:19044.1706.
当我通过.\bin\activemq.bat start启动ActiveMQ时,我得到了这个FileNotFoundException

WARN | Store limit is 102400 mb (current store usage is 0 mb). The data directory: C:\Programs\apache-activemq-5.17.1\bin\..\data\kahadb only has 21729 mb of usable space. - resetting to maximum available disk space: 21729 mb
WARN | Temporary Store limit is 51200 mb (current store usage is 0 mb). The data directory: C:\Programs\apache-activemq-5.17.1\bin\..\data only has 21728 mb of usable space. - resetting to maximum available disk space: 21728 mb
INFO | ActiveMQ WebConsole available at http://127.0.0.1:8161/
INFO | ActiveMQ Jolokia REST API available at http://127.0.0.1:8161/api/jolokia/
WARN | jolokia-agent: Error while accessing access restrictor at file:C:Programsapache-activemq-5.17.1bin..conf/jolokia-access.xml. Denying all access to MBeans for security reasons. Exception: java.io.FileNotFoundException: C:Programsapache-activemq-5.17.1bin..conf\jolokia-access.xml (The system cannot find the path specified)
    java.io.FileNotFoundException: C:Programsapache-activemq-5.17.1bin..conf\jolokia-access.xml (The system cannot find the path specified)
       at java.io.FileInputStream.open0(Native Method) ~[?:?]
       at java.io.FileInputStream.open(FileInputStream.java:219) ~[?:?]
       at java.io.FileInputStream.<init>(FileInputStream.java:157) ~[?:?]
       at java.io.FileInputStream.<init>(FileInputStream.java:112) ~[?:?]

如何修复此FileNotFoundException
这似乎是一些问题的文件名(iidoe.C:Programsapache-activemq-5.17.1bin..conf\jolokia-access.xml)。
我甚至不确定我是否应该相信FileNotFoundException错误消息。

fhg3lkii

fhg3lkii1#

设置Windows环境变量时
ACTIVEMQ_HOME=C:/Programs/apache-activemq-5.17.1/
我可以解决这个问题(注意后面的斜线)。然后错误就消失了。
但我注意到了更多的事情:
1.如果我将变量设置为ACTIVEMQ_HOME=C:/Programs/apache-activemq-5.17.1,我仍然会遇到这个问题。
1.如果我设置ACTIVEMQ_HOME=C:\Programs\apache-activemq-5.17.1\,我仍然有问题(即如果我使用反斜杠)。
1.如果根本没有定义Windows环境变量ACTIVEMQ_HOME,也会出现问题。
所以这看起来像是ActiveMQ Windows启动脚本activemq.bat中的一个bug。它不应该对这个值如此敏感。而且它应该在根本没有设置ACTIVEMQ_HOME的情况下工作(但它没有工作)。

dfty9e19

dfty9e192#

我有点同意这个问题需要从ActiveMq端修复。但是要解决这个问题,您可以将环境变量设置为-

ACTIVEMQ_HOME=C:\\Programs\\apache-activemq-5.17.1\\

对我很有效

nzrxty8p

nzrxty8p3#

根据Active MQ Jira issue中的输入,我在D:\Program Files\activemq\webapps\api\WEB-INF\web.xml中将${prop:activemq.conf}替换为以下内容

<init-param>
    <param-name>policyLocation</param-name>
    <param-value>file:D:/Program Files/activemq/conf/jolokia-access.xml</param-value>
</init-param>

之后,不会引发错误。

rdrgkggo

rdrgkggo4#

对于版本5.17.1,设置环境变量(from OP's answer)对我不起作用。
一个简单的解决方案是使用不同的activeMQ版本。例如apache-activemq-5.16.3可以正常工作。下面是可用版本的存档:https://activemq.apache.org/download-archives

zynd9foi

zynd9foi5#

正如其他人所报告的,发生这种情况是因为没有设置ACTIVEMQ_HOME。

.\activemq-admin.bat create ..\standalone\mybroker

你可以用standalone\mybroker.bat start运行它,它运行得很好。
如果检查批处理文件,您将看到环境变量ACTIVEMQ_HOME已设置。

ws51t4hk

ws51t4hk6#

修改apache-activemq-5.17.4\bin\win64\wrapper.conf大约第64行
在"Java附加参数"部分下,将目录变量和文件名括在引号中:
发件人:
wrapper.java.additional.13=-Djolokia.conf=file:%ACTIVEMQ_CONF%/jolokia-access.xml
收件人:
wrapper.java.additional.13=-Djolokia.conf=file:"%ACTIVEMQ_CONF%/jolokia-access.xml"

相关问题