有人可以推荐一种快速将测试消息发布到JMS队列的工具吗?该工具应该允许用户输入一些数据,可能是XML有效负载,然后将其提交到队列?我知道我可能会很快地把事情搞得很快但是我想在重新发明轮子之前先问一下。欢呼声。
答案 0 :(得分:16)
此答案不适用于所有JMS代理,但如果您恰好使用Apache ActiveMQ,则基于Web的管理控制台(默认情况下为http://localhost:8161/admin)允许您手动发送短信主题或队列。这对调试很方便。
答案 1 :(得分:13)
HermesJMS似乎是与JMS提供程序交互的相当强大的客户端。在我看来,这是非常不直观和难以设置的。 (至少我大部分都失败了......)
其他更加用户友好的客户通常是特定于供应商的。 Sonic Message Manager是SonicMQ的一个非常好用且易于使用的开源JMS客户端。像这样的客户与不同的提供商合作会很棒。
答案 2 :(得分:10)
ActiveMQ的基于Web的管理控制台存在很大缺陷 - 在发布消息时无法指定任何标头/自定义属性。
我遇到了一个整洁的FOSS工具,可以发布消息并指定标题/属性:
http://sourceforge.net/projects/activemqbrowser/
HTH
答案 3 :(得分:5)
Apache JMeter是一个工具(为Java平台编写),它允许:
向队列发送消息(点对点)
发布/订阅主题
发送持久消息和非持久消息
发送文字,地图和对象信息
Apache ActiveMQ包含具有许多命令行配置选项的ProducerTool和ConsumerTool示例源(Java)。由于它基于JMS API,因此只需稍加修改即可轻松将其与其他消息代理一起使用。
答案 4 :(得分:3)
我推荐使用@Will的方法并使用Web Console of ActiveMQ,它可以让您轻松发布消息和浏览队列或删除消息。
我经常使用的另一种方法是使用文件目录作为样本数据,并使用Camel路由将消息从目录移动到JMS队列 - 或者从队列中取出它们并将它们保存到磁盘等
e.g。
from("file://someDirectory").
to("activemq:MyQueue");
这将从someDirectory移动所有文件并将它们发送到名为MyQueue的ActiveMQ队列。如果您宁愿保留文件,可以使用URI“file:// someDirectory?noop = true”。
有关详细信息,请参阅
答案 5 :(得分:3)
IBM提供免费,强大的command line tool called perfharness。
虽然旨在对JMS提供程序进行基准测试,但它非常擅长生成(和使用)测试消息。您可以使用随机生成的数据或从文件中获取的数据。
电源功能包括使用特定数量的线程,使用JMS或本机MQ等以固定速率发送和使用消息。它生成统计信息,告诉您队列的确切执行速度(因此名称)。
唯一的缺点是,考虑到它支持的操作数量,它不是超级直观的。
答案 6 :(得分:2)
此外,如果JMS代理支持像ActiveMQ这样的JMX,您可以使用JConsole发布消息并执行更多操作。
答案 7 :(得分:1)
ActiveMQ有一个用于发送测试消息的Web控制台(如上所述),但如果您的提供商没有这个,那么最简单的方法就是编写一个控制台应用程序/网页来发布测试消息。在JMS中发送消息并不太难,只需编写自己的测试客户端就可以获得最大的好处。
如果您可以在Java中使用Spring,它有一些非常强大的实用程序,请查看JmsTemplate。
答案 8 :(得分:0)
我不知道一个简单的客户端。我记得很久以前当我研究不同的队列系统并尝试JMS时我找不到一个,我现在找不到一个。但有一点 - 有大量的教程可以让你入门,你可以做一个简单的表格来实现这一目标。
很抱歉没有更多帮助。
答案 9 :(得分:0)
我已经构建了一个GUI工具来管理开源JMS服务器(目前是Activemq和Hornetq)。它可以发送和接收消息和大多数常见的东西,以及聚合队列和主题到逻辑“组”。
它是一种商业产品,但BETA是免费的,并且功能齐全。
尝试答案 10 :(得分:0)
对于ActiveMQ,examples目录包含脚本。对于Rubyists,请查看example / ruby / stompcat.rb和catstomp.rb以进行订阅和发布。
答案 11 :(得分:-3)
我是巴西的开发人员,我为Post HTTP和JMS Messages创建了一个Java程序,可从以下网址下载:https://sites.google.com/site/felipeglino/softwares/posttool
在该页面中,您可以找到英语说明。