【ActiveMQ】ActiveMQ 管理页面点消息ID提示Error

ActiveMQ 管理页面点消息ID提示Error



问题的出现

今天在尝试ActiveMQ的使用时候,在添加消息成功后,在管理也面查看消息,都是可以看到的,但是点击Message ID进入详细信息页面的时候,页面提示Error:
这里写图片描述

然后百度了下,发现文章都是配置信息错误了,例如:
Exception occurred while processing this request, check the log for more information!安装ActiveMq-5.14.1 配置安全验证报错解决
如果你是这个问题可以参考以上文章。但是还是推荐你先看一下日志文件。

解决问题

我觉得我的配置文件肯定没有问题,于是查看了data/activemq.log,发现果然和上面的小哥报到错误不同:

org.apache.jasper.JasperException: PWC6033: Unable to compile class for JSP

PWC6197: An error occurred at line: 20 in the jsp file: /WEB-INF/tags/form/forEachMapEntry.tag
PWC6199: Generated servlet error:
The type java.util.Map$Entry cannot be resolved. It is indirectly referenced from required .class files


    at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:123)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:296)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:376)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:437)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:608)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:261)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:683)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:88)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:739)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1501)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2291)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2341)[jsp-2.1-glassfish-2.1.v20100127.jar:]
    at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:743)[jsp-
好的,可以尝试使用pymqi和stomp.py这两个库来实现。首先安装这两个库:pip install pymqi stomp.py 然后使用pymqi连接到ActiveMQ,在连接成功后,使用stomp.py订阅消息,可以按照以下代码示例来实现: ```python import stomp import pymqi host = 'localhost' port = '61613' channel = 'SYSTEM.ADMIN.SVRCONN' queue_manager = 'QM' queue_name = 'QUEUE.NAME' class MQListener(stomp.ConnectionListener): def on_message(self, headers, message): print('Received message: {}'.format(message)) def on_error(self, headers, message): print('Error received: {}'.format(message)) conn = stomp.Connection(host_and_ports=[(host, port)]) conn.set_listener('', MQListener()) queue_manager = pymqi.connect(queue_manager, channel, '{}({})'.format(host, port)) queue = pymqi.Queue(queue_manager, queue_name) queue.get() pymqi.disconnect(queue_manager) conn.subscribe(destination='/queue/{}'.format(queue_name), id=1, ack='auto') conn.start() conn.connect() while True: pass ``` 这段代码中,我们首先定义了一个MQListener类,用于接收到消息后打印消息内容。然后创建了一个Connection对象,使用set_listener()方法将MQListener对象加入进去。使用pymqi连接到ActiveMQ,通过Queue.get()方法获取一条消息后,执行pymqi.disconnect()方法退出连接。接着使用stomp.py的subscribe()方法订阅消息,使用start()方法启动连接,然后进入死循环等待消息的到来,当有消息到来时就会进入on_message()方法,处理消息
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值