Windows 上的 ActiveMQ 启动问题 - jolokia-access.xml 的 FileNotFoundException

问题描述 投票:0回答:8

我下载并解压了最新的ActiveMQ版本5.17.1。我正在使用 Java 11.0.11 和 Windows 10 Enterprise Build: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

文件名似乎有问题(即

C:Programsapache-activemq-5.17.1bin..conf\jolokia-access.xml
)。

我什至不确定是否应该相信

FileNotFoundException
错误消息。

java activemq
8个回答
4
投票

当我设置 Windows 环境变量时

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

我能够解决问题(注意结尾的斜杠)。 然后错误就消失了。

但我还注意到了一些事情:

  1. 如果我将变量设置为

    ACTIVEMQ_HOME=C:/Programs/apache-activemq-5.17.1
    我仍然遇到这个问题。

  2. 如果我设置

    ACTIVEMQ_HOME=C:\Programs\apache-activemq-5.17.1\
    我仍然有问题(即如果我使用反斜杠)。

  3. 如果我根本没有定义Windows环境变量

    ACTIVEMQ_HOME
    ,我也会遇到这个问题。

所以这看起来像是 ActiveMQ Windows 启动脚本中的一个错误

activemq.bat
。不应该对这个值那么敏感。而且它应该在没有设置
ACTIVEMQ_HOME
的情况下工作(但它不起作用)。


3
投票

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

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

它对我有用


1
投票

根据 Active MQ Jira 问题中的输入,我将 D:\Program Files ctivemq\webapps pi\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>

此后,不再抛出错误。


0
投票

设置环境变量(来自OP的答案)对于我的5.17.1版本不起作用。

一个简单的解决方案是使用不同的 activeMQ 版本。例如 apache-activemq-5.16.3 工作正常。以下是可用版本的存档:https://activemq.apache.org/download-archives


0
投票

正如其他人所报告的,发生这种情况是因为未设置 ACTIVEMQ_HOME。 但是,如果您使用像这样的

activeq-admin
脚本创建一个新代理

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

您可以使用

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


0
投票

修改\win64\wrapper.conf中的apache-activemq-5.17.4 大约第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"


0
投票

我通过更改包装器配置解决了该问题,如下所示:

wrapper.java.library.path.1=%ACTIVEMQ_HOME%/conf

wrapper.java.additional.13=-Djolokia.conf=classpath:jolokia-access.xml

0
投票

我使用安装程序脚本将 ActiveMQ 5.18.3 安装为 Windows 服务

bin/win64/InstallService.bat

服务启动时出现

activemq.log
错误:

java.io.FileNotFoundException: C:apache-activemq-5.18.3binwin64....\conf\jolokia-access.xml (The system cannot find the path specified)

我的解决方案是更改

bin/win64/wrapper.conf
并设置绝对路径,例如:

wrapper.java.additional.13=-Djolokia.conf=file:"C:/apache-activemq-5.18.3/conf/jolokia-access.xml"

Windows服务安装的整个问题都是由上述安装程序脚本造成的。

ACTIVEMQ_BASE
是在服务安装时定义的,我认为这是您以后无法轻松更改它的根本原因。

© www.soinside.com 2019 - 2024. All rights reserved.