亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 深入探討ejb中新的消息驅(qū)動組件(二).htm

?? 寫給JSP初級程序員的書
?? HTM
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0057)http://eps.www85.cn4e.com/java/article/devshow.asp?id=198 -->
<HTML><HEAD><title>csdn_深入探討EJB中新的消息驅(qū)動組件(二)</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<STYLE type=text/css>TD {
	FONT-FAMILY: "Verdana", "Arial", "宋體"; FONT-SIZE: 9pt
}
A {
	COLOR: #660000; TEXT-DECORATION: underline
}
A:hover {
	COLOR: #660000; TEXT-DECORATION: none
}
.line {
	LINE-HEIGHT: 14pt
}
</STYLE>

<META content="Microsoft FrontPage 4.0" name=GENERATOR></HEAD>
<BODY bgColor=#ffffff text=#000000>

  <table><tbody>
  <TR>
    <TD height=21>
      <DIV align=center><B><FONT size=3>深入探討EJB中新的消息驅(qū)動組件(二) 
      <BR><FONT size=2> </FONT></FONT>
      <HR align=center color=#cccccc noShade SIZE=1>
      </DIV></b></TD></TR>
  <TR>
    <TD class=line><FONT 
      color=#333300><BR><BR><BR>  MessageDrivenBean容器服務(wù)<BR><BR>  EJB容器提供了下列服務(wù),它們都是低級的EJB支持的服務(wù),不能直接被使用EJB1.1的JMS開發(fā)者使用。<BR><BR>  1.管理生命周期:<BR><BR>  MessageDrivenBean的生命周期與配置它的EJB服務(wù)器的壽命是一致的,因為MessageDrivenBean是無狀態(tài)的,所以組件實例通常被EJB服務(wù)器集中起來,并且當一條消息變得對于作為消息消費者的主題或隊列可用的時候,會被容器取回,見圖5。<BR><BR><BR><BR><IMG 
      src="5926200110275445jt-2001-9-24-image005.gif" width="369" height="234">&nbsp;<BR><BR>&nbsp;<BR><BR><BR>  2、處理異常:<BR><BR>  MessageDrivenBean組件當處理消息的時候,可能不會拋出應(yīng)用程序異常,這就意味著可能被MessageDrivenBean拋出的唯一的異常指明一個系統(tǒng)錯誤的運行時間異常。容器將會處理這個異常,方法是刪除這個組件實例,并返回任何組件實例或容器啟動的事務(wù)處理。<BR><BR>  3、線程或并發(fā)性:<BR><BR>  MessageDrivenBean實例是在一個單獨的控制線程中執(zhí)行,這將大大的簡化開發(fā)者的任務(wù)。EJB服務(wù)器將確保這一特性,另外,EJB服務(wù)器可能提供一種操作模式允許多消息被單獨的組件實例同時處理,這個配置選項實用定義在JMS規(guī)范中的“expert&nbsp;level”類。JMS提供者并不一定帶有這些類,所以EJB服務(wù)器可能不能利用每一種JMS實現(xiàn)的這種功能。<BR><BR>  4、事務(wù)處理:<BR><BR>  就像使用entity或session組件一樣,MessageDrivenBean組件也可以有“contain-or-bean-managed”(容器或組件管理)事務(wù)處理。一個事務(wù)屬性可以設(shè)置為MessageDrivenBean組件的onMessage()方法。因為沒有客戶端事務(wù)處理,所以只有一個事務(wù)處理屬性的子集考慮到entity和session組件與MessageDrivenBean組件有關(guān)系。使用了容器管理事務(wù)處理。容器將能支持MessageDrivenBean的Required和NotSupport事務(wù)處理屬性。一個帶有組件管理事務(wù)處理的MessageDrivenBean組件可以使用JTA&nbsp;UserTransaction對象。這個MessageDrivenBean組件在從onMessage()方法返回之前,必須先結(jié)束事務(wù)處理。onMessage()方法非常簡單,它帶有容器管理事務(wù)界限和NotSupported事務(wù)屬性。容器將不會創(chuàng)建事務(wù)并且組件開發(fā)者被禁止訪問&nbsp;UserTransaction對象。<BR><BR>  更有趣的事,當onMessage()方法被指定了Required事務(wù)屬性,這時容器將創(chuàng)建一個全局事務(wù)處理收集任何可參考的資源并被傳遞到任何其他的正在處理消息的EJB服務(wù)器上。這是唯一一種JMS主題或隊列接口包含于EJB事務(wù)處理中的情景。<BR><BR>  對于使用Required事務(wù)屬性的組件,JMS服務(wù)器將成為XAResource,如果JMS服務(wù)器提供者不支持XA事務(wù)處理,JMS&nbsp;session通常將與容器的全局事務(wù)處理的結(jié)果同步。這樣,容器將不能包括用于管理分布事務(wù)的兩方面的委托處理的JMS服務(wù)器。JMS&nbsp;session的一個&nbsp;rollback(反轉(zhuǎn))將警告&nbsp;JMS服務(wù)器,消息應(yīng)當被重新發(fā)送。<BR><BR>  5、消息確認:<BR><BR>  容器總是處理MessageDrivenBean組件的消息收到的確認,對于組件來說,使用定義在&nbsp;JMS規(guī)范中的客戶端消息收到確認方法是非法的。消息收到確認可以被設(shè)置為&nbsp;DUPS_OK_ACKNOWLEDGE或&nbsp;AUTO_ACKNOWLEDGE,前者允許在一次失敗之后投遞消息的副本,而后者提供一個嚴格的保證機制,確保消息只能被投遞一次。<BR><BR>  6、安全性<BR><BR>  因為MessageDrivenBean組件沒有客戶端,所以在接受消息的時候容器基本上不會產(chǎn)生安全問題。EJB2.0規(guī)范中為組件方法執(zhí)行一個聲明指定的功能提供了方便。因此,MessageDrivenBean組件可以被設(shè)置來確保用于傳送到其他正在處理消息的EJB服務(wù)器的安全。這就可以使MessageDrivenBean組件維護方法級安全性了。<BR><BR><BR><BR>  應(yīng)用程序服務(wù)器框架<BR><BR>  當&nbsp;MessageDrivenBean提供的功能在應(yīng)用程序服務(wù)器內(nèi)被部署好后,它就會以指數(shù)形式膨脹開來。一個高端的應(yīng)用程序服務(wù)器提供可擴展性,負載平衡,動態(tài)應(yīng)用程序啟動,附加的&nbsp;EJB服務(wù)器實例的動態(tài)配置以及容錯性,這些都是企業(yè)級應(yīng)用程序的核心要素。<BR><BR>  1、可擴展性:&nbsp;企業(yè)級應(yīng)用程序服務(wù)器的一個關(guān)鍵元素就在它的提供一個結(jié)構(gòu)來適應(yīng)不斷增加的處理負載的能力。&nbsp;隨著被&nbsp;MessageDrivenBean處理的消息的數(shù)量的增加,應(yīng)用程序服務(wù)器的&nbsp;EJB服務(wù)器必須使適應(yīng)這些增加而不會明顯的增加處理時間。一般是提供給多應(yīng)用程序服務(wù)器用于協(xié)調(diào)處理受到的消息的增多,這樣應(yīng)用程序服務(wù)器就有了可擴展性了。<BR><BR>  2、負載平衡:當一個請求發(fā)送到應(yīng)用程序服務(wù)器,一個負載平衡元素可以在實例之間平均分配負載(見圖六)。舉例來說,應(yīng)用程序服務(wù)器每個實例都可能包含一個EJB服務(wù)器的實例。使用應(yīng)用程序服務(wù)器的負載平衡特性,受到的消息就可以平均分配到所有的EJB服務(wù)器實例上了。<BR><BR><BR><IMG 
      src="15370200110275445jt-2001-9-24-6.gif" width="637" height="385">&nbsp;&nbsp;<BR><BR>3、動態(tài)應(yīng)用程序啟動:應(yīng)用程序服務(wù)器應(yīng)當可以在負載增多時啟動附加的預(yù)先設(shè)置的實例。<BR><BR>  4、動態(tài)設(shè)置額外的EJB服務(wù)器實例:即使一個應(yīng)用程序被設(shè)定了固定的用于處理應(yīng)用程序負載的實例數(shù),但是也有可能信息流的激增造成系統(tǒng)處理速度變慢,為了處理這種情況,應(yīng)用程序服務(wù)器必須具有配置附加應(yīng)用程序?qū)嵗奶匦浴1热缯f,應(yīng)用程序服務(wù)器可以允許系統(tǒng)管理員動態(tài)定義附加的EJB服務(wù)器實例并把這些附加實例部署到EJB服務(wù)器中。負載平衡元素將利用這些補充的實例來處理消息。<BR><BR>  5、容錯性:一個企業(yè)級的應(yīng)用程序服務(wù)器必須也具有能夠適應(yīng)出錯的情況,像網(wǎng)絡(luò)或硬件上的問題,但是前提是不能明顯降低系統(tǒng)性能或是丟失數(shù)據(jù),應(yīng)用程序服務(wù)器使用的一種方法就是通過設(shè)置多應(yīng)用程序服務(wù)器實例來分配狀態(tài)信息,收到的消息通過智能化的負載平衡元素被分配到實例上。如果有一個或多個實例不能到達,負載平衡元素只要簡單的把消息重新分配給各個能用的實例就可以了。此外,負載平衡元素還可在管理組件的參與下重啟那些因為某些原因而不能使用的實例。<BR><BR>  超越JMS<BR><BR>  EJB的MessageDrivenBean組件部分給企業(yè)級服務(wù)器領(lǐng)域又添了一員猛將,它允許消息經(jīng)由JMS接受在被一個簡單但又強有力的組件處理。然而,MessageDrivenBean的EJB組件事實上有能力變成能夠處理任何消息的組件模型,而不單是JMS服務(wù)器發(fā)來的消息。<BR><BR>  JMS消息通過JMS實現(xiàn)被變成可交互操作,這就意味著JMS消息私地下是某一種特定的的實現(xiàn),但是內(nèi)容可以完全透明的被轉(zhuǎn)換成另一種特定的JMS實現(xiàn)而不會在任何方面影響消息消費者。因此任何消息格式都可以轉(zhuǎn)換成為JMS消息并被傳遞到MessageDrivenBean組件中。換句話說,一個MessageDrivenBean組件可以處理電子郵件、HTTP、FTP或其他任何協(xié)議發(fā)來的消息,以及又具有把這些協(xié)議轉(zhuǎn)化成為JMS消息的應(yīng)用程序服務(wù)器提供的消息。這就開啟了一個標準、簡單、輕便且能夠處理任何協(xié)議發(fā)過來的任何消息的能力的組件模型之門。如果消息被定義成為可開發(fā)的、可擴展的語言向XML這樣的及其強大的可交互操作在寬松連接系統(tǒng)以一種每個人都能理解的模式完成。下面我想簡單以一個獨立于協(xié)議以外的消息處理的例子來驗證一下這種技術(shù)的強大威力。<BR>一個B2B的例子<BR><BR>  一個典型的B2B情景就像一個“中樞-輪輻”形,多個寬松連接的商家(即“輪幅”)與一個大型企業(yè)(即“中樞”)交互連接,在某種情況之下,當執(zhí)行交互操作(像發(fā)送大的訂單這樣的事件)可以經(jīng)由JMS應(yīng)用程序在大企業(yè)與商家之間正常相互作用。對于一些小型商家來說,采用純JMS可能在成本上太高而負擔不起,它可能會采用通過Web瀏覽器中的HTTP或發(fā)送電子郵件的形式向大企業(yè)發(fā)送訂單。為了向客戶開放B2B系統(tǒng),大型企業(yè)級服務(wù)器就必須能夠處理這一系列不同的協(xié)議。<BR><BR><BR><IMG 
      src="18825200110275445jt-2001-9-24-7.gif" width="629" height="341">&nbsp;<BR>而且,作為中樞的大型企業(yè)級服務(wù)器雖然接受來自email或來自JMS等不同類型格式的訂單,但是只有必要為每一種方式分別編寫處理程序。使用MessageDrivenBean組件,任何協(xié)議都可以發(fā)送以XML格式描述的訂單,如下面的例子。MessageDrivenBean組件只需要把注意力集中在處理來自應(yīng)用程序服務(wù)器發(fā)送的JMS&nbsp;TextMessage中的XML就可以了,而不要去關(guān)心到底所處理的消息時直接來自JMS服務(wù)器還是作為一條來自郵件服務(wù)器的SMTP消息。<BR><BR>  代碼段六:<BR><BR><purchase_order><BR><client_number>101</client_number>&nbsp;<BR><date>August&nbsp;8,&nbsp;2001</date>&nbsp;<BR><billing_address><BR><name>W(wǎng)ayne&nbsp;Zheng</name>&nbsp;<BR><address>xyz&nbsp;street</address>&nbsp;<BR><city>Hefei</city>&nbsp;<BR><province>Anhui</province>&nbsp;<BR><zip>230027</zip>&nbsp;<BR></billing_address><BR><shipping_address><BR><name>Zhang&nbsp;Tao</name>&nbsp;<BR><address>Huangshan&nbsp;Road</address>&nbsp;<BR><city>Hefei</city>&nbsp;<BR><state>Anhui</state>&nbsp;<BR><zip>230026</zip>&nbsp;<BR></shipping_address><BR><items><BR><item><BR><quantity>1</quantity>&nbsp;<BR><product_number>324</product_number>&nbsp;<BR><description>Java&nbsp;Book</description>&nbsp;<BR><unitcost>19</unitcost>&nbsp;<BR></item><BR><item><BR><quantity>1</quantity>&nbsp;<BR><product_number>532</product_number>&nbsp;<BR><description>Java&nbsp;VM</description>&nbsp;<BR><unitcost>56</unitcost>&nbsp;<BR></item><BR></items><BR></purchase_order><BR>&nbsp;<BR><BR>  小結(jié) <BR><BR>  EJB2.0提供了一種新的組件模型-MessageDrivenBean組件-用來處理異步消息,MessageDrivenBean組件可以簡單的開發(fā)和利用與其他EJB組件模型相同的容器服務(wù),這種新的組件模型允許整合面向?qū)ο蟮闹虚g件(MOM)的、優(yōu)秀的以及新一代純Java的JMS。并且,MessageDrivenBean組件還有可能成為處理任何異步消息,特別是基于XML消息的工業(yè)標準。因此,MessageDrivenBean組件是EJB2.0中的非常重要的一員,本文只是初探其面目,以后我還會更加深入的探討其的功用。<BR><BR><BR></FONT></TD></TR>
  <TR>
    <TD height=5>
      <HR align=center color=#cccccc noShade SIZE=1>
    </TD></TR></TBODY></BODY></HTML>

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看亚洲a| ww久久中文字幕| 99久久精品99国产精品| 色屁屁一区二区| 7799精品视频| 一区二区三区欧美久久| www.激情成人| 日韩欧美一区电影| 亚洲精品成人悠悠色影视| 日韩高清不卡一区二区三区| 另类小说视频一区二区| www.99精品| 欧美电视剧在线观看完整版| 亚洲成人在线免费| 亚洲一二三区视频在线观看| 玉足女爽爽91| 一区二区成人在线观看| 不卡影院免费观看| 韩国三级电影一区二区| jizz一区二区| 日韩一区二区三区电影| 欧美一区二区女人| 亚洲欧美综合色| 国产精品网曝门| 麻豆一区二区三区| 久久久一区二区三区捆绑**| 中文一区一区三区高中清不卡| 亚洲免费在线视频| 成人爱爱电影网址| 最新高清无码专区| voyeur盗摄精品| 国产日韩欧美综合在线| 久久国产精品99久久人人澡| 欧美亚洲动漫另类| 看片网站欧美日韩| 亚洲欧美怡红院| 国产欧美日韩综合| 日韩午夜av一区| 99国产精品99久久久久久| 日韩成人dvd| 国产亚洲一区二区在线观看| 日本vs亚洲vs韩国一区三区| 日韩一区二区免费在线电影| 亚洲国产成人91porn| 精品视频在线免费看| 免费人成精品欧美精品| 久久午夜老司机| 激情丁香综合五月| 亚洲国产精品综合小说图片区| xvideos.蜜桃一区二区| 99在线精品一区二区三区| 日韩精品一区二区三区在线 | 欧美一区二区三区人| 日韩av网站在线观看| 久久综合色婷婷| 91免费在线播放| 奇米精品一区二区三区四区| 欧美精品一区视频| 91免费视频网| 国产一区二区成人久久免费影院 | 亚洲电影一区二区三区| 精品美女在线播放| 欧洲一区二区av| 国产在线精品视频| 性久久久久久久久| 国产精品久久久久久亚洲毛片| 欧美日本高清视频在线观看| 国产精品小仙女| 无码av免费一区二区三区试看| 久久精子c满五个校花| 欧美日高清视频| 94色蜜桃网一区二区三区| 国产精品综合视频| 麻豆91在线播放| 午夜影院久久久| 亚洲成人黄色小说| 一级中文字幕一区二区| 亚洲欧美日韩国产综合| 久久蜜桃香蕉精品一区二区三区| 欧洲一区二区三区免费视频| 色婷婷综合五月| 91亚洲精品久久久蜜桃| 成人黄色小视频| 91麻豆免费观看| 91丝袜美腿高跟国产极品老师| 国产精品 日产精品 欧美精品| 国产精品香蕉一区二区三区| 亚洲色图在线看| 亚洲三级电影全部在线观看高清| 日本韩国欧美国产| 成人精品在线视频观看| 久久精品视频网| 91视频xxxx| 国产一区二区不卡在线| 国产精品卡一卡二卡三| 激情文学综合插| 国产精品青草综合久久久久99| 国产麻豆精品95视频| 亚洲品质自拍视频| 91精品视频网| 成人免费黄色在线| 欧美精品一区在线观看| 91精品国产综合久久精品麻豆| 成人美女视频在线观看| 国产精品一区二区果冻传媒| 国产高清久久久| 日韩黄色免费电影| 国产精品一二一区| 91福利精品第一导航| 天天综合色天天综合| 91精品在线一区二区| 精品99一区二区| 久久综合色一综合色88| 亚洲色图丝袜美腿| 亚洲欧美日韩在线播放| 亚洲国产日韩综合久久精品| 免费人成在线不卡| 成人a免费在线看| 欧美精品在线一区二区三区| 日韩精品一区二区三区四区| 午夜精品在线看| 91亚洲永久精品| 亚洲日本护士毛茸茸| 久久国产麻豆精品| 日韩欧美一区二区视频| 亚洲素人一区二区| av在线播放不卡| 亚洲色图制服丝袜| 欧美精品一二三四| 成人午夜激情在线| 偷窥少妇高潮呻吟av久久免费| 日韩欧美自拍偷拍| 亚洲欧美电影一区二区| 国产在线精品一区二区不卡了| 日韩欧美一区电影| 亚洲人成在线播放网站岛国 | 欧美色网站导航| 国产高清不卡二三区| 亚洲高清中文字幕| 欧美在线观看禁18| 亚洲精品成人悠悠色影视| 97精品电影院| 亚洲欧美日韩综合aⅴ视频| av电影在线观看一区| 亚洲色图欧洲色图| 欧美亚洲国产怡红院影院| 91在线视频网址| 国产99久久精品| 精品一区二区三区蜜桃| 青青草国产成人99久久| 亚洲精品日韩专区silk| 欧美性一二三区| 免费观看日韩电影| 91精品国产色综合久久久蜜香臀| 三级影片在线观看欧美日韩一区二区 | 色婷婷综合久久久中文字幕| 午夜精品久久久久久久蜜桃app| 欧美中文字幕亚洲一区二区va在线 | 亚洲免费av在线| 久久久蜜桃精品| 欧美日韩一级视频| 懂色av一区二区三区免费观看| 日本午夜一本久久久综合| 久久精品人人做| 欧美激情中文字幕| 亚洲欧美电影一区二区| 久久久99精品免费观看| 欧美唯美清纯偷拍| 日韩一区二区三区电影 | 久久久精品免费网站| 欧美一卡二卡三卡四卡| 欧美三区在线视频| 欧美日韩在线直播| 91精品91久久久中77777| 91视频你懂的| 91麻豆国产福利精品| 91美女片黄在线观看| 成人动漫一区二区在线| 91同城在线观看| 91视频在线看| 欧美三级韩国三级日本一级| 色综合欧美在线视频区| 在线观看日韩精品| 欧美一区二区在线看| 精品成人私密视频| 中文一区一区三区高中清不卡| 中文字幕在线不卡视频| 国产精品对白交换视频| 樱花草国产18久久久久| 亚洲精品免费看| 日本大胆欧美人术艺术动态| 国产尤物一区二区| 成人av资源在线观看| 欧美日韩视频在线一区二区| 欧美日韩激情一区| 欧美激情艳妇裸体舞| 亚洲美女视频一区| 精品一区二区三区免费观看| 国产成人av一区二区三区在线| 色欧美片视频在线观看|