ActiveMQ:Exception occurred while processing this request, check the log for more information!
出现上面错误的原因有以下两种
1 jdk的版本和activemq的版本不符
安装完ActiveMQ之后,通过http://IP:8161登陆到控制台。
通过测试代码给服务端发送队列消息,在控制台点击queue可以看到如下消息:
然后点击队列名称test-queue,出现如下页面:
然后点击MessageID,应该出现以下页面:
但是我的却报错了,出现了一下错误:
Exception occurred while processing this request, check the log for more information!
查看MQ的错误日志(data路径下的activemq)
错误原因:jsp渲染的时候报错了。根本原因在于jdk版本和activemq版本的问题。
小编的activeMQ的版本为5.12,jdk的版本为1.8,然而mq5.12的版本需要依赖于jdk1.7.
两种解决方案:
1、把jdk版本改为jdk1.7
2、activeMQ采用5.15,它依赖于jdk1.8
2 权限不足
安装ActiveMq-5.14.1 并配置了安全验证成功后,客户端也连接成功了。服务端也能通过http://IP:8161登录到控制台。
但是在点击队列,想要查看队列视图时报错,如下图:
查看日志发现有如下报错:
那么我就开始找配置这个用户的地方,发下时conf目录下的credentials.properties文件中。
内容如下:
这里有这个账户的配置,那么是哪里引用这个配置文件呢?
在主配置文件 activemq.xml 查看,发现如下:
大概了解了下,这段配置的作用,是在控制台中查看,删除、发送消息到指定队列或主题的使用的账户。前面我们登录管理控制台仅是控制台的验证。要操作队列当然要用队列授权的用户。于是我想既然credentials.properties中配置了账户为system,那么我可以在user.properties中创建一个system用户。于是编辑
vim user.properties
这样这个用户就有了
然后我们再次访问发现前端依然报错,错误日志有所改变,错误日志信息如下:
这个报错大概就是没有权限的原因,这时候我想到虽然用户创建了,但是还没做授权。于是最简单就是把system账户加入到admins组中。
于是vim groups.properties
保存退出,然后在重启activemq,测试成功,如图:
备注:
如果你想改配置文件的地址,可以更改conf/log4j.propertiesd配置文件
文章来源:
https://blog.csdn.net/wxr15732623310/article/details/79132976
https://www.cnblogs.com/zhming26/p/6101916.html