我在寫入MQ之前調用Date()對象。這是我捕獲MQ的時間。如何計算MQ的時間?如何在java中計算IBM MQ的進出時間
0
A
回答
1
最簡單的解決方案是獲取MQ消息跟蹤解決方案。有許多可用的,你可以在這裏找到一個列表:http://www.capitalware.com/mq_tools_comm.html#mqtrk
- COA是到達的確認 - 當消息放入目標隊列
- COD是交貨的確認 - 當接收應用程序執行的MQGET
爲您的問題創建COA/COD解決方案並不困難或複雜。當我是使用MQ的COA/COD的顧問時,我爲客戶創建了許多SLA解決方案。
如果消息保留在同一個隊列管理器中,那麼生活是非常容易的。如果不是,那麼您需要知道COD消息(不是COA)是使用原始消息的UserId返回的。因此,您需要計劃獲得正確的安全許可或COD信息將落入DLQ(死信隊列)中。
發現自己要使用的數據庫 - 它可以是你公司的一個或一個簡單的像SQLite的,H2等
第一個提問人的追問是如何配合一切融合在一起。即什麼關鍵。很簡單,使用MQMD MessageId。當應用程序執行MQPUT時,將填充MQMD MessageId。
其次,請確保原始郵件已完成以下MQMD字段:replyToQueueName,replyToQueueManagerName和report。
第三,COA和COD消息將在其MQMD CorrelId字段中具有原始消息的MessageId。
您可以使用3或4個時間戳。額外的時間戳可以是您執行MQPUT之前的時間。比方說,你想4個時間戳則:
時間戳權之前MQPUT
時間戳在MQMD的putDateTime返回從MQPUT
- COA時間戳在MQMD的putDateTime返回 - 匹配的MessageId是CorrelId中
- COD時間戳在MQMD的putDateTime返回 - 匹配的MessageId是CorrelId中
簡單。現在,您數據庫中的每行都有該消息歷史記錄的完整SLA記錄。您可以編寫簡單的SQL來確定:
- 多久了MQ提供即時間戳#消息4負 時間戳#1(或#2)
- 多長時間留在隊列中接收前應用程序撿起它即時間戳#4減去時間戳#3 - 當有指點時,這是一個重要的數字!
- 當有人說:「我們從來沒有收到您的來信」 - 時間戳#4是你的證明
最後,如果你期待的迴應(回覆)消息返回(假設原來的MessageId在CorrelId中),那麼您可以將該時間戳添加到數據庫作爲第5個時間戳。即時間戳#5減去時間戳#1(或#2)會給你往返時間(請求 - 響應)。
相關問題
- 1. 如何從IBM MQ
- 2. 計劃在IBM MQ中傳遞消息
- 3. 如何在計時器中計算所計算的時間?
- 4. 如何在IBM MQ中重置隊列?
- 5. 進度條時間計算+ java
- 6. IBM MQ Java - 事務處理
- 7. IBM MQ Java錯誤:: java.lang.ClassNotFoundException:com.ibm.mq.internal.MQCommonServices
- 8. 如何進行時間碼計算?
- 9. BASH:如何進行時間碼計算
- 10. 如何進行時間計算的自動計算?
- 11. 如何在Java中啓動IBM MQ通道?
- 12. Java如何計算時間差異
- 13. java.lang.NoClassDefFoundError:COM/IBM/MQ/Tomcat中
- 14. 如何設置IBM MQ GET預讀Java中的MaximumSize
- 15. 如何計算在Java中
- 16. IBM MQ - 喚醒MQ通道
- 17. python:計算時間進度
- 18. 如何在IBM MQ集羣中實時創建訂閱?
- 19. 如何在android中計算時間?
- 20. 如何在mysql中計算時間
- 21. .zip ibm mq source
- 22. IBM Websphere MQ Monitoring
- 23. java.lang.NoClassDefFoundError:COM/IBM/MQ /的MQException
- 24. IBM WAS7.x到IBM MQ 8
- 25. 如何在java中顯示和計算時間
- 26. 如何驗證池的IBM MQ連接
- 27. 計算出席時間戳
- 28. 如何計算java中的服務所花費的總時間?
- 29. 如何計算插槽中的時間
- 30. 如何計算asp.net中的時間?
「out time」是什麼意思?您指的是您的PUT何時完成,並且MQ沒有返回異常,或者您指的是將讀取消息的應用程序收到消息的時間? – JoshMc
@JoshMc我指的是應用程序收到消息的時間,例如Flume – Saumya
接收應用程序在接收到消息時是否可以通過調用Date()來記錄類似的「out time」?如果你正在尋找發送應用程序有這個時間,那麼從接收應用程序返回給發送應用程序的返回ACK消息是很好的,我建議遠離COD消息,但這也是另一種選擇。 – JoshMc