Windows启动ActiveMQ 5.17.1报jolokia-access.xml找不到异常如何解决
问题根因
这个FileNotFoundException不是日志误报,是ActiveMQ 5.17.1在Windows环境下的已知启动脚本bug:脚本拼接Jolokia权限配置文件路径时,没有正确处理Windows路径的反斜杠转义,所有路径分隔符\被吞掉,才拼出了C:Programsapache-activemq-5.17.1bin..conf\jolokia-access.xml这种无效路径,最终触发文件找不到异常,出于安全机制Jolokia会默认拒绝所有MBean访问。
日志开头的两个磁盘空间WARN不属于报错,只是默认配置的存储限额大于磁盘剩余可用空间,程序已经自动把限额调整为当前磁盘可用大小,不影响核心服务运行。
修复方案
二选一即可:
- 方案1:修改通用启动脚本(一劳永逸)
- 打开解压目录下的
bin/activemq.bat文件 - 搜索定位到包含
jolokia-access.xml的JVM参数配置行 - 把对应路径的拼接方式改成用正斜杠,替换为
-Djolokia.accessPattern=file:%ACTIVEMQ_HOME%/conf/jolokia-access.xml,正斜杠在Windows下可以被Java正常识别,还能规避反斜杠转义问题 - 保存文件后先执行
.\bin\activemq.bat stop清理残留进程,再重新启动即可
- 打开解压目录下的
- 方案2:换用对应架构的启动脚本
不要执行根目录bin下的activemq.bat start,64位系统直接运行bin/win64/activemq.bat,32位系统运行bin/win32/activemq.bat即可,这两个分架构的启动脚本没有这个路径转义bug,可以正常加载配置启动。
内容的提问来源于stack exchange,提问作者peter.petrov
相关产品推荐
相关产品推荐

