




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
JavaEE企業(yè)級架構(gòu)開發(fā)與技術(shù)案例教程實驗報告實驗名稱演示EJB的消息驅(qū)動bean示例實驗?zāi)康?. 開發(fā)消息驅(qū)動bean的相關(guān)概念2. 消息的傳遞模型3. Queue類型消息開發(fā)步驟1、 實驗?zāi)康?.開發(fā)消息驅(qū)動bean的相關(guān)概念2.消息的傳遞模型3.Queue類型消息開發(fā)步驟2、 實驗內(nèi)容及結(jié)果(請將相應(yīng)題目代碼和結(jié)果截圖寫在相應(yīng)題目下方)1. 開發(fā)消息驅(qū)動bean的相關(guān)概念(1).java消息驅(qū)動bean屬于Java消息服務(wù)(Java Message Service,簡稱JMS)。(2)JMS是用于訪問企業(yè)消息系統(tǒng)的開發(fā)商中心的API。企業(yè)消息系統(tǒng)可以協(xié)助應(yīng)用軟件通過網(wǎng)絡(luò)進行消息交互。(3)JMS的編程過程簡單概括為:應(yīng)用程序A-(消息)-Jboss JMS-(消息)-應(yīng)用程序B。應(yīng)用程序A和應(yīng)用程序B沒有直接的代碼關(guān)聯(lián),兩者實現(xiàn)了解耦。消息傳遞系統(tǒng)的中心就是消息。消息驅(qū)動Bean(MDB)是設(shè)計用來專門處理基于消息請求的組件,它和無狀態(tài)Session Bean一樣也使用了實例池技術(shù),容器可以使用一定數(shù)量的bean實例并發(fā)處理成百上千個JMS消息。正因為MDB具有處理大量并發(fā)消息的能力,所以非常適合應(yīng)用在一些消息網(wǎng)關(guān)產(chǎn)品。如果一個業(yè)務(wù)執(zhí)行的時間很長,而執(zhí)行結(jié)果無需實時向用戶反饋時,也很適合使用MDB。如訂單成功后給用戶發(fā)送一封電子郵件或發(fā)送一條短信等。消息有下面幾種類型,他們都是派生自Message接口。StreamMessage:一種主體中包含Java基本值流的消息。其填充和讀取均按順序進行。MapMessage:一種主體中包含一組名-值對的消息。(沒有定義條目順序)TextMessage:一種主體中包含Java字符串的消息(例如:XML消息)ObjectMessage:一種主體中包含序列化Java對象的消息。BytesMessage:一種主體中包含連續(xù)字節(jié)流的消息。2. 消息的傳遞模型:JMS支持兩種消息傳遞模型:點對點(point-to-point,簡稱PTP)和發(fā)布/訂閱(publish/subscribe,簡稱pub/sub)。二者有以下區(qū)別:1.PTP 消息傳遞模型規(guī)定了一條消息只能傳遞給一個接收方。采用javax.jms.Queue表示。2.Pub/sub 消息傳遞模型允許一條消息傳遞給多個接收方。采用javax.jms.Topic表示。注意:每種模型都通過擴展公用基類來實現(xiàn)。例如,javax.jms.Queue 和javax.jms.Topic都擴展自javax.jms.Destination 類。3. Queue類型消息開發(fā)步驟:Xml代碼:java 中發(fā)送消息的概括:(1).得到一個JNDI初始化上下文(Context)InitialContext ctx = new InitialContext();(2).根據(jù)上下文查找一個連接工廠ConnectionFactory,改連接工廠是由JMS提供的,不需我們自己創(chuàng)建,每個廠商都為它綁定了一個全局JNDI,我們通過它的全局JNDI便獲取它;QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup(ConnectionFactory);(3).從連接工廠得到一個連接QueueConnection。QueueConnection conn = factory.createQueueConnection();(4).通過連接來建立一個會話(Session);QueueSession session = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE);這句代碼意思是:建立不需要事務(wù)的并且能自動確立消息已接收的會話。(5).查找目標(biāo)地址:Destination destination=(Destination)ctx.lookup(queue/ztfQueue);(6).根據(jù)會話以及目標(biāo)地址來建立消息生產(chǎn)者MessageProducer(QueueSender和TopicPublisher都擴展自MessageProducer接口):MessageProducer producer = session.createProducer(destination);TextMessage msg = session.createTextMessage(您好:胡曉亮,這是我的第一個消息驅(qū)動Bean);producer.send(msg);3.建立一個java項目,把jboss的client目錄下的jar包全部buildPath到編譯路徑中。4.寫消息的發(fā)送端Java代碼:5.寫消息的接收端采用MessageDrivenBean接收消息。當(dāng)容器檢測到bean守候的目標(biāo)地址有消息到達(dá)時,容器調(diào)用onMessage()方法,將消息作為參數(shù)傳入MDB。MDB在onMessage()中決定如何處理改消息。你可以使用注解指定MDB監(jiān)聽哪一個目標(biāo)地址(Destination)。當(dāng)MDB部署時,容器將讀取其中的配置信息。一個MDB通常要實現(xiàn)MessageListener接口,在接口定義了onMessage()方法。Bean通過它來處理收到的JMS消息。Java代碼:6.打包部署:講項目打成一個jar包,貌似netbC.jar,放在JBOSS的deploy目錄下,啟動jboss7.運行QueueSender.java 發(fā)送消息3、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)審員考試試題及答案 (三)
- 海洋數(shù)字金融服務(wù)創(chuàng)新
- 2025年上海松江區(qū)天馬山學(xué)校招聘教師考試筆試試題(含答案)
- 老班長介紹課件
- 老年疼痛患者護理課件
- 老年護理課件模板
- 老年護理圖文課件
- 老年人心理健康咨詢課件
- 老師的視頻課件制作
- 《建筑項目合同約定場地估值爭議處理協(xié)議》
- 工程總承包管理制度
- 2025年云南新華印刷五廠有限責(zé)任公司招聘筆試參考題庫含答案解析
- 汽車實訓(xùn)室安全課件
- 臨時施工出入口交通疏導(dǎo)方案
- 《OPPLE歐普照明》課件
- 國家開放大學(xué)電大??啤督ㄖこ添椖抗芾怼菲谀┰囶}及答案
- 醫(yī)療設(shè)備器材供貨安裝、調(diào)試及售后服務(wù)方案
- 部編版語文三年級上冊第四單元教材解讀大單元集體備課
- 10kV小區(qū)供配電設(shè)計、采購、施工EPC 投標(biāo)方案(技術(shù)方案)
- 2024-2025學(xué)年初中物理八年級下冊蘇科版(2024)教學(xué)設(shè)計合集
- 中外廣告史(第三版) 課件全套 何玉杰 第0-11章 緒論、中國古代廣告的發(fā)展- 日本廣告的發(fā)展
評論
0/150
提交評論