Re: [J2EE] 問題,想請問 JMS的Queue的問題

看板java作者 (null)時間16年前 (2009/08/09 00:33), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/7 (看更多)
※ 引述《LCHENAN (~!!)》之銘言: : 各位前輩大家好: : 小弟今天在撰寫程式時,一直卡在一個地方,查詢了 : 課本: Java訊息服務這本書 尚未找到答案,當然Google也goo : 因此想說來請教大家 : 運行環境 : 電腦A Windows XP,JDK6 update15,GlassFish, ORBListenerPort:3700 : 連線工廠: jms/Queue_ConnectionFactory : 連線資源: jms/Queue : 電腦B的環境跟電腦A是相同的 : 我碰到的問題是: Q1: JMS Provider 是不是只有一個? : 我在主機A上啟動了一個程式"甲" : 這個甲的功能在於 : 1. 啟動本機的連線資源 jms/Queue的監聽 : 2. 定時發送訊息給主機B的jms/Queue : 3. 顯示本機 jms/Queue所收到的Message訊息 : 並且也在主機B上啟動了一個程式"乙" : 這個乙的功能在於 : 1. 啟動本機的連線資源 jms/Queue的監聽 : 2. 顯示本機 jms/Queue所收到的Message訊息 : 在啟動之後 : 我發現: : 第一個情況: : 電腦B一直無法收到來自於電腦A的訊息, : 然而電腦A卻可以收到訊息自己發送出來的訊息 : 第二個情況: : 我把甲程式監聽jms/Queue的功能關掉, : 此時,神奇的事情就發生了 : 電腦B就可以顯示從電腦A發出的訊息 : 我想請問這個情況要用什麼樣的方式解決呢? : 麻煩大家給小弟一個指引的方向? : 謝謝 JMS Queue Domain (俗稱 Producer/Consumer Model) 可以有多個 Producer、Consumer。但是一個訊息只能被一個 Consumer 收到。 收到就消耗掉了,不會有其他人再收到。 你在甲開了 Consumer、乙也開了 Consumer。 只要有人先收到,另一方不就不可能收到。(JMS 不保證收到的優先順序) 如果你要大家都收到應該用 Topic Domain (Publish/Subscribe) 這樣就不會有訊息被消耗掉有人沒收到的現象。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.48.9
文章代碼(AID): #1AVQZYeq (java)
討論串 (同標題文章)
文章代碼(AID): #1AVQZYeq (java)