多個MDB一起註冊同一個queue時,就不能確定是哪一個MDB收到訊息,
彼此會搶奪,一個訊息只會有一個MDB收到,另外一個會出現Exception
如果一個訊息想送給多個MDB最好用topic
queue本來就是one-to-one的,topic才是 one-to-many
非同步簡單來講就是,就是跟你最後一句說的差不多的意思而已,別想的太複雜了。
※ 引述《CRLuo ( )》之銘言:
: 想請教一下 JMS 的非同步觀念問題...
: 如果我對 Message Queue 用loop發送了 100 個訊息
: 並在 Message Driven Bean 中 onMessage 時會去處理這些訊息
: 那JMS非同步的概念是否是說這 100 個訊息如果有編號1~100
: 那1~100處理到完成的順序有可能先後不一樣?
: 還是說會按照發送到queue的順序來完成1~100?
: 我比較難了解的地方是 MDB 去聆聽 queue 中的 Message 時
: 是多個 MDB 一起去取得 queue 中不同編號的事件然後各別處理?
: 還是 MDB 一次只會取得 queue 中的一個事件 處理完後才做下一筆?
: 有人研究過這種問題嗎?
: 還是非同步的觀念只是指 發送完訊息後 發送端和接收端的處理不同步
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.71.240.89
※ 編輯: CharArray 來自: 219.71.240.89 (10/16 21:42)