2011-08-21 100 views
2

我在我的java應用程序中使用JMS(Java消息服務API)來處理駐留在websphere MQ上的隊列/主題。我正在尋找一個工具/支持pac,它可以顯示所有MQ消息,例如:當我執行queueConnectionFactory.createConnection()時,它將導致MQCONN/MQCONNX調用,所以我需要看看傳遞了什麼令人興奮的東西。所以基本上在我的整個基於JMS的交互過程中,我希望看到所有正在傳遞的MQ消息。可能嗎?查看JMS調用中的所有websphere MQ消息

+0

我真的不明白這個問題。當你說「MQ消息」時,你的意思是消息還是MQI調用?什麼版本的WMQ?從根本上說,JMS客戶端通過適當的選項映射到一組MQI調用,例如, createConnection()不僅僅是一個MQCONNX,MQINQ也完成了,但爲什麼你想知道這些?你想爲每個JMS調用做一次,還是隻做一次?有辦法做到這一點,但我認爲真的只用於在Hursley的WMQ開發/服務 – strmqm

+0

@strmqm:我打算詢問MQI調用以及通過的參數.....所以基本上就像您提到的那樣「從根本上講,JMS客戶端映射到一組MQI調用「,所以我想知道這些....我正在爲基於JMS的消息傳遞到websphere MQ v6/v7的生產支持環境中工作。有時候,我們花了很多時間調試問題......所以想要檢查一下我們是否有任何工具?這基本上是相關的,例如,如果我在hibernate工作,我想要它生成的SQL。 – ag112

+1

我不知道任何公共API/supportpac是這樣的 - 我過去在v7中通過打開跟蹤com.ibm.jmqi。*並使用正則表達式分割出相關的調用從跟蹤文件中,跟蹤非常詳細,但很容易閱讀,但這非常偶爾是用於開發故障排除的工具,而不是任何適合生產的工具。 AIUI有一個用於在v7中攔截JMQI調用的內部API(eclipse發現com.ibm.mq.jmqi.monitoring),但它似乎並未發佈供外部使用。 – strmqm

回答

1

如果您使用的是websphere,則可以通過轉到WAS控制檯和跟蹤服務來啓用跟蹤,以啓用jms日誌記錄。

1

跟蹤會告訴您正在調用哪些API。在很大程度上追蹤有助於。但除此之外,IBM提供幫助。

+0

可以請你細說一下嗎?你能告訴我如何啓用跟蹤? – ag112

+0

java -Djava.library.path =「%MQ_JAVA_LIB_PATH%」-Dcom.ibm.msg.client.commonservices.trace.status = ON -Dcom.ibm.msg.client.commonservices.trace.outputName =「%MQ_JAVA_DATA_PATH%」 \ trace Shashi

1

如果您使用的是JMS MQ客戶端模式連接,則可以在MQ SVRCONN通道上運行發送/接收退出以記錄客戶端MQI和消息流。免費的IBM SupportPac MA0Z具有此功能。這種技術對於綁定模式連接是不可能的,因爲不涉及MQ通道。