【发布时间】:2011-08-21 10:39:18
【问题描述】:
我在我的 java 应用程序中使用 JMS(Java 消息服务 API)来处理驻留在 websphere MQ 上的队列/主题。我正在寻找一个工具/支持 pac,它可以显示所有被调用的 MQ 消息,例如当我执行 queueConnectionFactory.createConnection() 时,它会导致 MQCONN/MQCONNX 调用,所以我需要查看正在传递的内容。所以基本上在我整个基于 JMS 的交互过程中,我想查看所有正在传递的 MQ 消息。有可能吗?
【问题讨论】:
-
我不太明白这个问题。当您说“MQ 消息”时,您是指消息还是 MQI 调用?什么版本的 WMQ? It's true that fundamentally the JMS client maps to a set of MQI calls with appropriate options, e.g. createConnection() 不仅仅是一个 MQCONNX,MQINQ 也做了,但是你为什么想知道这些呢?您想为每个 JMS 调用执行此操作,还是只执行一次?有办法做到这一点,但我认为真的只适用于 Hursley 的 WMQ 开发/服务
-
@strmqm:我的意思是询问 MQI 调用以及传递的参数.....所以基本上就像你提到的“基本上 JMS 客户端映射到一组 MQI 调用”,所以我想知道其中....我在生产支持环境中工作,用于将基于 JMS 的消息传递到 websphere MQ v6/v7。有时,我们花了很多时间调试问题......所以想检查一下我们是否有任何工具可以解决这个问题?例如,如果我在 hibernate 中工作,我想生成它的 SQL,这基本上是相关的。
-
我不知道任何这样的公共 API/supportpac - 我过去在 v7 中通过仅打开 com.ibm.jmqi.* 的跟踪并使用正则表达式从跟踪文件中分离出相关调用,跟踪非常冗长但很容易阅读,但这只是用于开发故障排除的偶尔工具,而不是任何适合生产的工具。 AIUI 在 v7 中有一个用于拦截 JMQI 调用的内部 API(eclipse 发现 com.ibm.mq.jmqi.monitoring)但它似乎没有发布供外部使用。