我正在開發一個解決方案來從Websphere 6.1中的退出隊列檢索有毒消息。我的問題是:當msg(即TextMessage)從常規隊列重新排隊到退出隊列時,msg.getJMSDestination()和msg.getJMSReplyTo()中的隊列名稱是什麼?毒害消息的隊列名稱 - MQ/JMS
例如: 我收到了一份msg,帶有myQueue的目的地。但是,出於某種原因,這個味精不能被處理(毒害信息),並且因爲websphere配置了這個信息,所以這個味精被重新排隊以退出名爲myBOQueue的隊列。如果我從myBOQueue(使用MDB)檢索此消息,並執行((隊列)msg.getJMSDestination())。getQueueName(),我該怎麼辦:myQueue或myBOQueue?如果我執行((隊列)msg.getJMSReplyTo())。getQueueName(),我得到了什麼?
信息文件:http://download.oracle.com/javaee/1.4/api/javax/jms/Message.html
THX, 安德烈
我能夠模擬並檢查Poison Message中的隊列名稱JMS頭中的getJMSDestination()是原始隊列,而不是退出隊列。但是我不知道它是供應商特定的還是JMS默認的。 – 2011-02-05 12:58:53
我的觀點是更大的功能(重試,毒性隊列)是一個供應商擴展。因此,如果較大的功能未標準化,則無法標準化getJMSDestination的一個小細節和值。換句話說,當消息被重定向到毒性隊列時,getJMSDestination會得到什麼的問題不是標準化的,因爲重定向到毒性隊列的概念不在標準中。 – 2011-02-06 15:08:59