在 HornetQ 中哪里可以找到消息

Where to find messages in HornetQ

我编写了一个简单的应用程序,可以发送消息并在同一个应用程序中接收消息。现在我想知道的是在哪里可以找到HornetQ发送的所有消息?

您可以通过两种方式查看发送到 HornetQ 的消息。

方法一: 最简单的方法,使用 JConsole,从 JDK 目录打开 JConsole 并从本地进程打开 select hornetQ 进程(我假设你在本地机器上有 hornetq,否则你需要启用远程 JMX)和 select 连接并转到 MBans,如下图所示。和 select org.hornetq -> Queue -> JMS -> Your Queue -> Attributes。 message count和message added两个参数表示JMS消息状态(注意这里不能读取消息)

方法二: Hermes JMS,下载 Hermes JMS(如果您使用的是 windows 7,请从 here 下载 1.15 版本)。通过执行 jar 安装 HermesJMS。 HermesJMS安装后在bin目录下执行hermes.bat(如果没有启动你需要编辑批处理文件hermes.bat并在set HERMES_HOME后添加set HERMES_CONFIG={valid accessible directory})。

现在配置Hermes JMS如下。

  1. Goto Actions-> New Session,在弹出窗口 window 单击 window 底部的提供商选项卡。右键单击类路径组并 select 添加组并输入 HornetQ 并单击确定。
  2. 展开 hornetQ 并右键单击库,然后 select 添加 jar 在执行 3 和 4 个步骤后添加以下所有 jar。
  3. Mean time Goto {HermesJMS home directory}\providers create directory HermesJMS and copy following libraries from hornetq\lib hornetq server

    目录
    hornetq-core-client.jar
    hornetq-jms-client.jar
    hornetq-logging.jar
    jboss-jms-api.jar
    jnp-client.jar
    netty.jar
    
  4. 保存并重启 HermesJMS 应用程序

  5. 连接工厂部分

    binding = ConnectionFactory
    initialContextFactory = org.jnp.interfaces.NamingContextFactory
    providerURL = jnp://localhost:1099
    urlPkgPrefixes = org.jnp.interfaces:org.jboss.naming
    
  6. 保存设置名称

  7. 右键单击会话 -> 您在第 6 步中创建的新会话,然后 select 发现。它将填充所有 JMS 队列。
  8. 现在 select 您的目标 JMS 队列并单击浏览。

注意 HoentQ 不会存储从您的侦听器读取的消息,因此如果您需要在 HermesJMS 中查看消息,您需要在一些延迟后读取消息。