2010-10-15 62 views
0

我正在開發一個解決方案來從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, 安德烈

回答

1

您想在特定供應商的文檔看看。我認爲重試計數和有毒消息​​隊列是JMS規範中未包含的供應商特定功能。

+0

我能夠模擬並檢查Poison Message中的隊列名稱JMS頭中的getJMSDestination()是原始隊列,而不是退出隊列。但是我不知道它是供應商特定的還是JMS默認的。 – 2011-02-05 12:58:53

+0

我的觀點是更大的功能(重試,毒性隊列)是一個供應商擴展。因此,如果較大的功能未標準化,則無法標準化getJMSDestination的一個小細節和值。換句話說,當消息被重定向到毒性隊列時,getJMSDestination會得到什麼的問題不是標準化的,因爲重定向到毒性隊列的概念不在標準中。 – 2011-02-06 15:08:59