【问题标题】:Tool for posting test messages onto a JMS queue? [closed]将测试消息发布到 JMS 队列的工具? [关闭]
【发布时间】:2021-04-01 07:59:24
【问题描述】:

谁能推荐一个快速将测试消息发布到 JMS 队列的工具?

说明

  1. 该工具应允许用户输入一些数据,可能是 XML 有效负载,然后将其提交到队列。
  2. 我应该能够在没有生产者的情况下测试消费者。

【问题讨论】:

标签: jms messaging tooling


【解决方案1】:

此答案不适用于所有 JMS 代理,但如果您碰巧使用 Apache ActiveMQ,则基于 Web 的管理控制台(默认为 http://localhost:8161/admin)允许您手动将文本消息发送到主题或队列.方便调试。

【讨论】:

  • 您能否分享一些有关如何使用该控制台添加 jms 属性的信息?我可以添加邮件正文,但不能添加标题
  • 我只是遇到了这种方式的一些问题。我需要输入 26 条消息,其中 6 条由于某种原因被拒绝。
  • 我有同样的问题:发送带有自定义标头的消息以进行调试。显然这个问题很常见,没有答案。
【解决方案2】:

HermesJMS 似乎是与 JMS 提供者交互的一个相当强大的客户端。不过,在我看来,这是非常不直观且难以设置的。 (至少我大部分都失败了......)

其他对用户更友好的客户端通常是特定于供应商的。 Sonic Message ManagerSonicMQ 的一个非常好用且易于使用的开源 JMS 客户端。如果有这样的客户与不同的供应商合作,那就太好了。

【讨论】:

  • SonicMQ 提供了一个 JMS 测试客户端,可以连接到任何支持 JMS 的服务器。虽然我不知道它是否可以免费下载。
【解决方案3】:

ActiveMQ 的基于 Web 的管理控制台有一个很大的缺陷——发布消息时无法指定任何标题/自定义属性。

我遇到了一个简洁的 FOSS 工具,它可以发布消息并指定标题/属性:

http://sourceforge.net/projects/activemqbrowser/

HTH

【讨论】:

    【解决方案4】:

    Apache JMeter 是一个工具(为 Java 平台编写),它允许:

    • 将消息发送到队列(点对点)

    • 发布/订阅主题

    • 同时发送持久性和非持久性消息

    • 发送文本、地图和对象消息

    Apache ActiveMQ 包括一个 ProducerTool 和一个 ConsumerTool 示例源 ​​(Java) 以及许多命令行配置选项。由于它基于 JMS API,因此只需稍作修改即可轻松与其他消息代理一起使用。

    【讨论】:

    • 我知道已经很久了。 Jmeter Im 使用为每个线程创建一个新的连接工厂(根据线程池选项中给出的线程数)。如何确保它只使用一个 qConnectionFactory 并在整个过程中重复使用它们?
    【解决方案5】:

    IBM 提供免费、强大的command line tool called perfharness

    虽然旨在对 JMS 提供程序进行基准测试,但它确实非常擅长生成(和使用)测试消息。您可以使用随机生成的数据或从文件中获取的数据。

    强大的功能包括以固定速率发送和使用消息、使用特定数量的线程、使用 JMS 或本机 MQ 等。它会生成统计信息,准确告诉您队列执行的速度(因此得名)。

    考虑到它支持的操作数量,唯一的缺点是它不是超级直观。

    【讨论】:

      【解决方案6】:

      我推荐@Will 的方法和使用Web Console of ActiveMQ,它可以让您轻松发布消息、浏览队列或删除消息。

      我经常使用的另一种方法是使用文件目录作为示例数据,并使用 Camel 路由将消息从目录移动到 JMS 队列 - 或者从队列中取出它们并将它们保存到磁盘等

      例如

      from("file://someDirectory").
        to("activemq:MyQueue");
      

      这将从 someDirectory 中移动所有文件并将它们发送到名为 MyQueue 的 ActiveMQ 队列。如果您希望将文件保留在原处,可以使用 URI“file://someDirectory?noop=true”。

      更多详情见

      【讨论】:

        【解决方案7】:

        此外,如果 JMS 代理支持 JMX(如 ActiveMQ),您可以使用 JConsole 发布消息并执行更多操作。

        【讨论】:

          【解决方案8】:

          ActiveMQ 有一个用于发送测试消息的 Web 控制台(如上所述),但如果您的提供商没有这个,那么编写一个控制台应用程序/网页来发布测试消息可能是最简单的。在 JMS 中发送消息并不太难,编写自己的测试客户端可能会获得最大的好处。

          如果您可以在 Java 中使用 Spring,它有一些非常强大的实用程序,请查看 JmsTemplate

          【讨论】:

            【解决方案9】:

            我不知道有一个简单的客户。我记得很久以前我在研究不同的队列系统并尝试使用 JMS 时寻找一个,当时我找不到,现在我也找不到。不过有一件事 - 有大量教程可以帮助您入门,您可以通过一个简单的表格来实现这一目标。

            很抱歉没有提供更多帮助。

            【讨论】:

              【解决方案10】:

              我已经构建了一个用于管理开源 JMS 服务器(目前是 Activemq 和 Hornetq)的 GUI 工具。它可以发送和接收消息和大多数常见的东西,以及将队列和主题聚合到逻辑“组”中。

              它是一种商业产品,但 BETA 是免费的并且功能齐全。

              http://www.rockeyesoftware.com/尝试一下

              【讨论】:

                【解决方案11】:

                对于 ActiveMQ,示例目录包含脚本。对于 Ruby 爱好者,请查看 example/ruby/stompcat.rb 和 cattomp.rb 以进行订阅和发布。

                【讨论】:

                  【解决方案12】:

                  我是一名巴西开发人员,我为 Post HTTP 和 JMS 消息制作了一个 Java 程序,他的下载地址为:https://sites.google.com/site/felipeglino/softwares/posttool

                  在那个页面你可以找到英文说明。

                  【讨论】:

                  • 您的工具看起来很有用,但它与 JMS 无关。
                  猜你喜欢
                  • 2014-03-29
                  • 2016-05-02
                  • 2010-11-05
                  • 1970-01-01
                  • 2011-01-11
                  • 1970-01-01
                  • 2010-11-05
                  • 2014-11-20
                  • 2014-09-16
                  相关资源
                  最近更新 更多