当前位置: 首页 > 知识库问答 >
问题:

替代JMS队列浏览器的方法?

宗政燕七
2023-03-14

我的ActiveMQ消息传递实例(Amazon MQ上的ActiveMQ 5.16.2)使用STOMP。我不能使用JMS队列浏览器,也没有办法“解锁”消息。一旦有消费者从队列中提取该消息,即标记为“未消费”,如这里的文档所述。

假设代理无法更改,我在这里查看的是 JMS 的 REST API 映射,但我没有看到任何模仿 ActiveMQ 管理页面 (JSP) 的endpoint,该endpoint能够浏览队列、使用者和消息内容,而无需主动从队列中“提取”这些消息。

那么,如何以编程方式(例如通过RESTAPI)实现我们在ActiveMQ管理页面中看到的JMS逻辑?

查看RESTAPI的文档,假设有登录,这种方法是有效的

curl -XGET https://user:pass@server:8162/admin/browse.jsp?JMSDestination=ActiveMQ.DLQ

并且它像在Web控制台上一样获取JSP页面输出,因此我认为它可以通过一些“官方”rest API来完成。

注意。ActiveMQ JSP页面没有使用任何AJAX调用,所以我假设它直接使用JMS Java API。

共有1个答案

董洲
2023-03-14

REST/JMS映射不提供任何消息浏览功能。

但是,值得注意的是,REST/JMS映射独立于Jolokia公开的管理功能。Jolokia是一个HTTP-JMX桥,因此通过JMX公开的任何内容都可以通过HTTP访问(例如使用curl)。DestinationViewMBean具有您可以使用的各种“浏览”方法,例如:

$ curl -XGET -u admin:admin -H "Origin: http://localhost" http://localhost:8161/api/jolokia/exec/org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=TEST/browse\(\)

其中< code>TEST是您的队列的名称。

您可以使用搜索命令获取 JMX 对象的列表,例如:

$ curl -XGET -u admin:admin -H "Origin: http://localhost" http://localhost:8161/api/jolokia/search/org.apache.activemq:*

你可以在他们的网站上阅读更多关于Jolokia协议的信息。

 类似资料:
  • 问题内容: 我无权访问服务器,我需要使用ISO-8859-1字符集进行整个AJAX事务。我正在使用jQuery.load()函数以及以下jQuery方法: 即使firefox和chrome返回正确编码的结果,IE(所有版本)却没有。有什么方法只能在客户端进行修复吗? ps所有内容均已在ISO-8859-1中正确编码。 问题答案: 我只是遇到了类似的问题,但问题基本上是IE(任何版本)不支持“ ov

  • 问题内容: 是否有替代方法可以将目标元素用于较旧的IE浏览器? Javascript(非jquery)也足够了。 编辑:不能将其他库添加到页面。 问题答案: 您可以使用jQuery的:nth-​​child()选择器;

  • 我正在开发一个使用Apache Camel和JMX活动的小应用程序。非常简单地说,我有一个使用SEDA组件的路由--只有一个消费者--简而言之,它创建自己的线程,并在路由繁忙时对传入的交换进行排队。 我想知道Camel中是否有一些现成的东西允许我这样做,或者我忽略了Hawtio或JConsole中的一些东西。 提前谢了。

  • 问题内容: 对于我的Rails 3.1应用程序上的Cucumber场景,我使用了@javascript标记,因此Selenium已激活。我收到以下错误: 如果可能的话,我想使用Google Chrome浏览器作为浏览器-而不是Firefox(我尚未安装)。这可能吗?该怎么办? 实际上,Cucumber / Selenium不应检测并使用浏览器吗? ====编辑==== 添加后 …到features

  • 目前我有一个Weblogic 10R3开发的Java EE应用程序主机,我有兴趣测试1个消息驱动Bean。问题是我无法访问Bean正在侦听的外部JMS服务器,以下是MDB代码: 我的计划是,Bean将通过JNDI查找队列,并且我确实可以访问Weblogic托管服务器。因此,我可以删除外部JMS服务器,然后添加一个本地JMS队列和包含确切JNDI名称的connectionFactory。因此,隔离外