




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
JavaEE企業(yè)級(jí)架構(gòu)開發(fā)與技術(shù)案例教程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱演示EJB的消息驅(qū)動(dòng)bean示例實(shí)驗(yàn)?zāi)康?. 開發(fā)消息驅(qū)動(dòng)bean的相關(guān)概念2. 消息的傳遞模型3. Queue類型消息開發(fā)步驟1、 實(shí)驗(yàn)?zāi)康?.開發(fā)消息驅(qū)動(dòng)bean的相關(guān)概念2.消息的傳遞模型3.Queue類型消息開發(fā)步驟2、 實(shí)驗(yàn)內(nèi)容及結(jié)果(請(qǐng)將相應(yīng)題目代碼和結(jié)果截圖寫在相應(yīng)題目下方)1. 開發(fā)消息驅(qū)動(dòng)bean的相關(guān)概念(1).java消息驅(qū)動(dòng)bean屬于Java消息服務(wù)(Java Message Service,簡(jiǎn)稱JMS)。(2)JMS是用于訪問(wèn)企業(yè)消息系統(tǒng)的開發(fā)商中心的API。企業(yè)消息系統(tǒng)可以協(xié)助應(yīng)用軟件通過(guò)網(wǎng)絡(luò)進(jìn)行消息交互。(3)JMS的編程過(guò)程簡(jiǎn)單概括為:應(yīng)用程序A-(消息)-Jboss JMS-(消息)-應(yīng)用程序B。應(yīng)用程序A和應(yīng)用程序B沒(méi)有直接的代碼關(guān)聯(lián),兩者實(shí)現(xiàn)了解耦。消息傳遞系統(tǒng)的中心就是消息。消息驅(qū)動(dòng)Bean(MDB)是設(shè)計(jì)用來(lái)專門處理基于消息請(qǐng)求的組件,它和無(wú)狀態(tài)Session Bean一樣也使用了實(shí)例池技術(shù),容器可以使用一定數(shù)量的bean實(shí)例并發(fā)處理成百上千個(gè)JMS消息。正因?yàn)镸DB具有處理大量并發(fā)消息的能力,所以非常適合應(yīng)用在一些消息網(wǎng)關(guān)產(chǎn)品。如果一個(gè)業(yè)務(wù)執(zhí)行的時(shí)間很長(zhǎng),而執(zhí)行結(jié)果無(wú)需實(shí)時(shí)向用戶反饋時(shí),也很適合使用MDB。如訂單成功后給用戶發(fā)送一封電子郵件或發(fā)送一條短信等。消息有下面幾種類型,他們都是派生自Message接口。StreamMessage:一種主體中包含Java基本值流的消息。其填充和讀取均按順序進(jìn)行。MapMessage:一種主體中包含一組名-值對(duì)的消息。(沒(méi)有定義條目順序)TextMessage:一種主體中包含Java字符串的消息(例如:XML消息)ObjectMessage:一種主體中包含序列化Java對(duì)象的消息。BytesMessage:一種主體中包含連續(xù)字節(jié)流的消息。2. 消息的傳遞模型:JMS支持兩種消息傳遞模型:點(diǎn)對(duì)點(diǎn)(point-to-point,簡(jiǎn)稱PTP)和發(fā)布/訂閱(publish/subscribe,簡(jiǎn)稱pub/sub)。二者有以下區(qū)別:1.PTP 消息傳遞模型規(guī)定了一條消息只能傳遞給一個(gè)接收方。采用javax.jms.Queue表示。2.Pub/sub 消息傳遞模型允許一條消息傳遞給多個(gè)接收方。采用javax.jms.Topic表示。注意:每種模型都通過(guò)擴(kuò)展公用基類來(lái)實(shí)現(xiàn)。例如,javax.jms.Queue 和javax.jms.Topic都擴(kuò)展自javax.jms.Destination 類。3. Queue類型消息開發(fā)步驟:Xml代碼:java 中發(fā)送消息的概括:(1).得到一個(gè)JNDI初始化上下文(Context)InitialContext ctx = new InitialContext();(2).根據(jù)上下文查找一個(gè)連接工廠ConnectionFactory,改連接工廠是由JMS提供的,不需我們自己創(chuàng)建,每個(gè)廠商都為它綁定了一個(gè)全局JNDI,我們通過(guò)它的全局JNDI便獲取它;QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup(ConnectionFactory);(3).從連接工廠得到一個(gè)連接QueueConnection。QueueConnection conn = factory.createQueueConnection();(4).通過(guò)連接來(lái)建立一個(gè)會(huì)話(Session);QueueSession session = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);這句代碼意思是:建立不需要事務(wù)的并且能自動(dòng)確立消息已接收的會(huì)話。(5).查找目標(biāo)地址:Destination destination=(Destination)ctx.lookup(queue/ztfQueue);(6).根據(jù)會(huì)話以及目標(biāo)地址來(lái)建立消息生產(chǎn)者M(jìn)essageProducer(QueueSender和TopicPublisher都擴(kuò)展自MessageProducer接口):MessageProducer producer = session.createProducer(destination);TextMessage msg = session.createTextMessage(您好:胡曉亮,這是我的第一個(gè)消息驅(qū)動(dòng)Bean);producer.send(msg);3.建立一個(gè)java項(xiàng)目,把jboss的client目錄下的jar包全部buildPath到編譯路徑中。4.寫消息的發(fā)送端Java代碼:5.寫消息的接收端采用MessageDrivenBean接收消息。當(dāng)容器檢測(cè)到bean守候的目標(biāo)地址有消息到達(dá)時(shí),容器調(diào)用onMessage()方法,將消息作為參數(shù)傳入MDB。MDB在onMessage()中決定如何處理改消息。你可以使用注解指定MDB監(jiān)聽哪一個(gè)目標(biāo)地址(Destination)。當(dāng)MDB部署時(shí),容器將讀取其中的配置信息。一個(gè)MDB通常要實(shí)現(xiàn)MessageListener接口,在接口定義了onMessage()方法。Bean通過(guò)它來(lái)處理收到的JMS消息。Java代碼:6.打包部署:講項(xiàng)目打成一個(gè)jar包,貌似netbC.jar,放在JBOSS的deploy目錄下,啟動(dòng)jboss7.運(yùn)行QueueSender.java 發(fā)送消息3、
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年舞蹈表演藝術(shù)專業(yè)考試題目及答案
- 2025年初中數(shù)學(xué)復(fù)習(xí)試題及答案
- 2025年國(guó)防教育與安全意識(shí)考試題目及答案
- 2025年風(fēng)景園林專業(yè)考試試卷及答案
- 2025年護(hù)士執(zhí)業(yè)資格證考試試卷及答案
- 2025年農(nóng)業(yè)技術(shù)推廣考試試卷及答案
- 2025年保定市中考二模語(yǔ)文試題及答案
- 河道保潔項(xiàng)目招標(biāo)文件
- 成都市建設(shè)工程材料檢測(cè)監(jiān)管系統(tǒng)建設(shè)施工監(jiān)理檢測(cè)單位作業(yè)指導(dǎo)書
- 七下地理試題及答案
- 湖北省武漢市2025屆高三年級(jí)五月模擬訓(xùn)練試題數(shù)學(xué)試題及答案(武漢五調(diào))
- 醫(yī)師掛證免責(zé)協(xié)議書
- 濟(jì)南民政離婚協(xié)議書
- 血液凈化標(biāo)準(zhǔn)操作規(guī)程 2021 版
- 2025年內(nèi)蒙古自治區(qū)初中學(xué)業(yè)水平考試數(shù)學(xué)模擬試題 (一)(含答案)
- 婚戀平臺(tái)合同協(xié)議書
- 保護(hù)患者隱私權(quán)醫(yī)療AI技術(shù)的倫理要求與實(shí)踐
- 權(quán)益配置與代理關(guān)系的成本效益分析
- 2025年貴州省貴陽(yáng)市云巖區(qū)中考模擬語(yǔ)文檢測(cè)試題(含答案)
- 空地或鋪面出租合同協(xié)議
- GA 1812.3-2024銀行系統(tǒng)反恐怖防范要求第3部分:印鈔造幣企業(yè)
評(píng)論
0/150
提交評(píng)論