如何在不使用JMS消息的情况下读取JMS消息-使用ActiveMQ

如何在不使用JMS消息的情况下读取JMS消息-使用ActiveMQ,jms,activemq,Jms,Activemq,我想知道是否有任何方法可以在不使用jms和actibemq消息的情况下读取jms和actibemq消息??我知道消息可以从队列中使用,但我仍然想问这个问题 您可以通过JMS QueueBrowser浏览队列上的消息,或者在ActiveMQ中,您可以通过JMX或使用命令行工具浏览内容: 另一种选择是在事务中“使用”消息,然后在完成后将其回滚,但浏览器可能更好,因为这就是“它的用途” 如果您只是在查找一条特定的消息,手动操作就可以了,那么您可以通过单击UI中的“RSS提要”按钮来查看active

我想知道是否有任何方法可以在不使用jms和actibemq消息的情况下读取jms和actibemq消息??我知道消息可以从队列中使用,但我仍然想问这个问题

您可以通过JMS QueueBrowser浏览队列上的消息,或者在ActiveMQ中,您可以通过JMX或使用命令行工具浏览内容:

另一种选择是在事务中“使用”消息,然后在完成后将其回滚,但浏览器可能更好,因为这就是“它的用途”


如果您只是在查找一条特定的消息,手动操作就可以了,那么您可以通过单击UI中的“RSS提要”按钮来查看activemq的消息及其内容(我认为所有消息,至少部分消息)。这基本上会将它们全部转储到屏幕上。“atom提要”选项的加载速度似乎比“RSS”选项快。

您需要使用
QueueBrowser
类来执行此操作,而不是使用消息使用者:

ConnectionFactory ConnectionFactory=
新建ActiveMQConnectionFactory(“tcp://127.0.0.1:61616"); 
连接=
createConnection(“admin”、“admin”);
connection.start();
会话会话=connection.createSession(false,Session.AUTO_ACKNOWLEDGE);
Queue Queue=session.createQueue(“测试”);
QueueBrowser QueueBrowser=会话.createBrowser(队列);
枚举msgs=queueBrowser.getEnumeration();
while(msgs.hasMoreElements()){
//在这里做你的事情
}

谢谢TIM,我正计划编写一个Web服务来实现该功能。。!!!因此,我最好使用普通的java代码实现相同的功能,我认为这有点混乱,因为“JMS QueueBrowser API”指向的链接是ActiveMQ页面。我想你可能想分享这个URL:您好,我如何在JMeter中使用它?