公司的技術平台在和某券商對接IBM MQ消息中間件時,發送到MQ中的消息多出了消息頭信息:RHF2,造成消息的接收處理不正常。在此記錄此問題的處理方式。
在IBM MQ中提供了一個參數 targetClient,可以通過此參數來控制jms消息中是否啟用該消息頭。當采用jms 作為IBM MQ的client時,在消息目標(隊列名或主題名)後添加該參數即可,格式為: topic:///{目標名}?targetClient=1
targetClient=1時:消息中不會包括RHF2消息頭;targetClient=0或不設置此參數時:消息中會包括RHF2的消息頭。
如在創建主題時:
String str = "topic:///" + topic + "?targetClient=" + targetClient;
Topic topic= session.createTopic(str);