【发布时间】:2015-09-15 16:44:03
【问题描述】:
我编写了一个简单的应用程序,它发送消息并在同一个应用程序中接收消息。现在我想知道在哪里可以找到 HornetQ 中发送的所有消息?
【问题讨论】:
我编写了一个简单的应用程序,它发送消息并在同一个应用程序中接收消息。现在我想知道在哪里可以找到 HornetQ 中发送的所有消息?
【问题讨论】:
您可以通过两种方式检查到 HornetQ 的消息传递。
方法一:
最简单的方法,使用 JConsole,从 JDK 目录打开 JConsole 并从本地进程中选择 hornetQ 进程(我假设您在本地机器中有 hornetq,否则您需要启用远程 JMX)并选择连接并转到 MBans,如下图所示。并选择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。
平均时间转到 {HermesJMS 主目录}\providers 创建目录 HermesJMS 并从 hornetq 服务器的 hornetq\lib 目录复制以下库
hornetq-core-client.jar
hornetq-jms-client.jar
hornetq-logging.jar
jboss-jms-api.jar
jnp-client.jar
netty.jar
保存并重新启动 HermesJMS 应用程序
连接工厂部分
binding = ConnectionFactory
initialContextFactory = org.jnp.interfaces.NamingContextFactory
providerURL = jnp://localhost:1099
urlPkgPrefixes = org.jnp.interfaces:org.jboss.naming
用名称保存设置
注意 HoentQ 不会存储从您的侦听器读取的消息,因此如果您需要在 HermesJMS 中查看消息,您需要在延迟后读取消息。
【讨论】: