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

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

?? 第二部分:ejb 編程模型(轉(zhuǎn)).txt

?? 包含很多java文章
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
作者:zergman
email: zergman@chinaasp.com
日期:2001-6-15 13:38:17
[TABLE][TR][TD]什么是 Enterprise JavaBeans 組件?[/TD][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/index_eng.shtml][img]http://www.cn.ibm.com/developerworks/i/src.gif[/img][/url][/TD][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][/TABLE][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][TD][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][TD][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][B]內(nèi)容:[/B][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][TABLE][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/index.shtml#1]接口、委托和代理[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/index.shtml#2]服務(wù)器和容器[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/index.shtml#3]Bean 風(fēng)格[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/index.shtml#4]第三部分內(nèi)容預(yù)告[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/index.shtml#resources]參考資料[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/index.shtml#author]作者簡介[/url][/TD][/TR][/TABLE][/TD][/TR][/TABLE][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][B]相關(guān)內(nèi)容:[/B][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][TABLE][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part1/index.shtml]第一部分:體系結(jié)構(gòu)的歷史和目標(biāo)[/url][/TD][/TR][TR][TD][url href=http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part3/index.shtml]第三部分:部署和使用 EJB 組件[/url][/TD][/TR][/TABLE][/TD][/TR][/TABLE][TABLE][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][TR][TD][img]http://www.cn.ibm.com/developerWorks/i/c.gif[/img][/TD][/TR][/TABLE][/TD][/TR][/TABLE]第二部分:EJB 編程模型 
Ken Nordby
IBM 軟件工程師
2000 6 月
[BLOCKQUOTE]本文的第二部分說明創(chuàng)建 Enterprise JavaBean 組件所需的 Java 接口和類的作用。除了對 bean 類本身進行編碼外,EJB 開發(fā)人員還必須為 bean 定義一個本地接口和一個遠(yuǎn)程接口。這些接口的實現(xiàn)類通常由容器生成,因此部署 EJB 組件是開發(fā)人員和 EJB 容器的合作行為。第二部分還區(qū)分了 enterprise bean 的兩種主要類型,即會話 bean 和實體 bean,并說明了 EJB 容器和 EJB 服務(wù)器之間的關(guān)系。[/BLOCKQUOTE]

enterprise bean 的編程模型的三個關(guān)鍵特征是:面向?qū)ο蟆ο蟮姆植际胶褪褂么韺ο蟆S捎诖司幊棠P褪褂?Java 技術(shù),因此它在本質(zhì)上就是面向?qū)ο蟮摹4四P鸵彩欠植际降模@是指 bean 在理論上是位置透明的。根據(jù) Enterprise JavaBeans (EJB) 規(guī)范,“一般說來,EJB 類和 EJB 容器的實際位置對客戶機是透明的。”在客戶機想要訪問 EJB 組件時使用代理對象。bean 本身對于客戶機是不可訪問的,對 bean 方法的訪問則由 helper 類提供。
[b]接口、委托和代理[/b] 
當(dāng) Java 程序員編寫一個 Enterprise JavaBeans 組件時,他們所創(chuàng)建的類必須實現(xiàn)一個 EJB 接口,并且它必須包含一個名為 ejbCreate() 的方法。一個 EJB 接口 -- 例如 SessionBean 接口 -- 指定了一些方法,它們包括以下各項: [UL][LI]ejbActivate() [LI]ejbPassivate() [LI]ejbRemove() [LI]setSessionContext()[/LI][/UL]

ejbActivate() 和 ejbPassivate() 方法通知一個 bean,管理該 bean 的容器組件正在主動和被動之間切換 bean 的狀態(tài)(這通常是指在內(nèi)存中還是交換到磁盤)。ejbRemove() 方法使 bean 知道它已被從容器中刪除。setSessionContext() 方法使 bean 與一個上下文對象相關(guān)聯(lián),此上下文對象是為了便于 bean 與其容器進行通信。
ejbCreate() 方法并不是從零做起創(chuàng)建 enterprise bean 的。當(dāng)客戶機想要創(chuàng)建新的 enterprise bean 時,bean 的容器將調(diào)用這個 bean 的類的 newInstance() 方法,來實例化新的 bean 對象。然后容器調(diào)用 setSessionContext() 方法來建立上下文對象,用于與 bean 進行通信。最后,容器調(diào)用新 bean 中的 ejbCreate() 方法。像 ejbCreate()、ejbActivate() 和 ejbPassivate() 這樣的方法有時稱為[I]對象生存周期[/I]方法,以區(qū)別于[I]業(yè)務(wù)邏輯[/I]方法。
當(dāng)開發(fā)人員設(shè)計一個新的 EJB 組件時,編寫組成 enterprise bean 類的代碼本身是不夠的。EJB 程序員還必須編寫兩個將由 helper 類使用的 Java 接口。這些強制性接口必須擴展標(biāo)準(zhǔn)的 EJBObject 和 EJBHome 接口,而這兩個接口則都是 java.rmi.Remote marker 接口的擴展。擴展標(biāo)準(zhǔn) EJBObject 接口的接口被稱為 enterprise bean 的[I]遠(yuǎn)程接口[/I],它指定在 bean 自身中定義的業(yè)務(wù)方法。當(dāng)應(yīng)用程序調(diào)用 enterprise bean 中的業(yè)務(wù)方法時,應(yīng)用程序并不訪問 bean 本身。實際上,方法調(diào)用被傳遞給實現(xiàn) EJBObject 接口擴展的那個對象。這種做法稱為[I]委托[/I],它是 EJB 體系結(jié)構(gòu)中的一個設(shè)計要點: 
[BLOCKQUOTE]“客戶機從來不直接訪問 enterprise bean 類的實例。客戶機總是使用 enterprise bean 的遠(yuǎn)程接口來訪問 enterprise bean 的實例。實現(xiàn) enterprise bean 的遠(yuǎn)程接口的類由容器提供。此類所實現(xiàn)的分布式對象稱為 [I]EJB 對象[/I]。”([I]Enterprise JavaBeans Specification 1.0)[/I][/BLOCKQUOTE]

bean 對 EJBObject 接口的擴展稱為其[I]遠(yuǎn)程接口[/I],而實現(xiàn)遠(yuǎn)程接口的對象則稱為 [I]EJB 對象[/I]。
enterprise bean 還必須具有本地接口。此接口是標(biāo)準(zhǔn) EJBHome 接口的擴展。實現(xiàn) bean 的本地接口的對象稱為[I]本地對象[/I]。本地對象包含一個 create() 方法,此方法由應(yīng)用程序調(diào)用,而應(yīng)用程序則必須創(chuàng)建一個 bean 實例。本地對象中的 create() 方法創(chuàng)建一個新的 EJB 對象。它并不直接創(chuàng)建新的 enterprise bean 實例,因為不允許直接訪問 bean。
EJB 對象和本地對象充當(dāng) bean 對象的代理,因為它們代表 bean 接收方法調(diào)用。EJB 對象主要為 bean 業(yè)務(wù)方法充當(dāng)代理;本地對象主要為 bean 生存周期方法充當(dāng)代理。 
為 EJB 組件使用 create() 方法并不一定要實例化新的 bean。容器確定如何最好地滿足創(chuàng)建請求,對于某些類型的 bean,它可以重用現(xiàn)有的實例:
[BLOCKQUOTE]“客戶機使用會話 bean 本地接口上的 [I]create[/I] 和 [I]remove[/I] 方法。雖然客戶機以為它正在控制著 EJB 實例的生存周期,但是,是容器在處理 [I]create[/I] 和 [I]remove[/I] 調(diào)用,而不一定要創(chuàng)建和刪除 EJB 實例。在客戶機和...實例之間不存在固定的映射。容器只是將客戶機的工作委托給任何一個方法已經(jīng)就緒的可用實例而已。”([I]Enterprise JavaBeans Specification 1.0)[/I][/BLOCKQUOTE]

創(chuàng)建新的 bean 實例受容器的控制,并可以與客戶機發(fā)布 create() 方法異步。
當(dāng)創(chuàng)建一個 EJB 組件時,開發(fā)人員負(fù)責(zé)定義 EJBObject 接口和 EJBHome 接口,但是無需編寫實現(xiàn)這些接口的類的代碼。EJB 容器軟件組件自動創(chuàng)建這些類。
下面的代碼段說明客戶機應(yīng)用程序可能怎樣使用稱為 CartBean 的 enterprise bean 來進行在線購物: [TABLE][TR][TD][PRE]CartHome cartHome = javax.rmi.PortableRemoteObject.narrow(initialContext.lookup("applications/shopping_cart"), CartHome.class);
Cart cart = cartHome.create();
cart.addItem(item29);
cart.addItem(item67);
cart.addItem(item91);
cart.purchase();
cart.remove();
[/PRE][/TD][/TR][/TABLE]
CartHome 是實現(xiàn)本地接口的類(EJBHome 接口的擴展)。Cart 是實現(xiàn)遠(yuǎn)程接口的類(EJBObject 接口的擴展)。當(dāng)客戶機調(diào)用應(yīng)用程序方法(如 addItem() 和 purchase())時,它們是在 cart 對象上調(diào)用的,此對象接著將這些方法的執(zhí)行委托給 bean 自身。enterprise bean 的功能是通過其代理 EJB 對象(即 cart)來獲得的。如果多臺客戶機同時訪問 cart bean,將會發(fā)生什么事情呢?Enterprise bean 開發(fā)人員無需編寫代碼來支持并發(fā)訪問。并發(fā)性由 EJB 容器支持。 
下圖說明各 EJB 對象之間的關(guān)系: 

[img]http://www.cn.ibm.com/developerWorks/java/what-are-ejbs/part2/ejb1.gif[/img] 

[b]服務(wù)器和容器[/b] 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆成人av在线| 亚洲精品一区二区精华| 91色porny| av电影在线观看不卡| 国产99精品视频| 国产在线国偷精品产拍免费yy| 蜜桃av一区二区在线观看| 亚洲成人久久影院| 日韩精品久久理论片| 日韩电影免费一区| 日本道精品一区二区三区 | 亚洲韩国一区二区三区| 亚洲日本一区二区三区| 亚洲欧洲日韩在线| 一区二区三区在线播放| 午夜不卡在线视频| 日韩精品一二三四| 国产一区二区三区在线看麻豆| 国产夫妻精品视频| 91免费视频观看| 欧美精品一级二级| 久久精品国产一区二区三 | 91成人在线免费观看| 欧美日韩一区在线| 欧美电影精品一区二区| 国产欧美视频在线观看| 亚洲欧美日韩电影| 午夜精品久久久久久| 美脚の诱脚舐め脚责91| 高清不卡一区二区在线| 在线欧美日韩精品| 日韩欧美高清一区| 欧美国产日韩a欧美在线观看| 亚洲日本丝袜连裤袜办公室| 亚洲成人动漫精品| 国内国产精品久久| 91丝袜高跟美女视频| 欧美精品xxxxbbbb| 国产日韩欧美高清| 亚洲成人av在线电影| 国模少妇一区二区三区| 99re热这里只有精品免费视频| 欧美日韩免费在线视频| 久久麻豆一区二区| 一区二区三区四区在线播放| 毛片不卡一区二区| 91丨porny丨首页| 日韩欧美的一区二区| 最近中文字幕一区二区三区| 免费成人小视频| 99久久精品免费看| 日韩一区二区在线观看视频| 国产精品国产三级国产普通话三级| 亚洲国产欧美日韩另类综合| 国产精品一卡二| 欧美吻胸吃奶大尺度电影| 久久看人人爽人人| 亚洲大片精品永久免费| 成人午夜免费av| 91精品婷婷国产综合久久性色| 国产精品沙发午睡系列990531| 日韩va欧美va亚洲va久久| 成人免费观看男女羞羞视频| 欧美一级片在线观看| 亚洲精品免费在线| 国产乱理伦片在线观看夜一区| 欧美日韩在线播| 综合欧美亚洲日本| 国产东北露脸精品视频| 欧美日本一道本在线视频| 国产精品不卡在线观看| 国产又粗又猛又爽又黄91精品| 欧美日韩1区2区| 亚洲欧美经典视频| 国产成人精品免费| 欧美精品一区二区三区久久久| 依依成人综合视频| 国产成人小视频| 精品欧美乱码久久久久久| 亚洲成人免费看| 一本一道久久a久久精品| 中国av一区二区三区| 国产麻豆一精品一av一免费 | 亚洲欧美综合网| 国产成人午夜精品影院观看视频| 69久久99精品久久久久婷婷| 一区二区三区在线视频免费| 99久久久精品免费观看国产蜜| 久久久精品tv| 韩国av一区二区三区在线观看| 婷婷成人激情在线网| 国产成人免费视频一区| 26uuu国产日韩综合| 麻豆91在线播放免费| 3atv一区二区三区| 日韩精品乱码av一区二区| 欧美日韩黄色一区二区| 亚洲一区二区成人在线观看| 日本韩国欧美一区| 亚洲综合色在线| 欧美主播一区二区三区美女| 亚洲激情成人在线| 欧美性做爰猛烈叫床潮| 亚洲自拍欧美精品| 欧美日韩中字一区| 午夜一区二区三区视频| 欧美日韩久久一区二区| 天天做天天摸天天爽国产一区 | 欧美午夜在线一二页| 一区二区三区免费网站| 色视频成人在线观看免| 亚洲黄色片在线观看| 欧美亚洲一区三区| 亚洲r级在线视频| 在线成人免费视频| 久国产精品韩国三级视频| 久久人人爽爽爽人久久久| 国产999精品久久久久久绿帽| 亚洲国产精品t66y| 色综合中文字幕国产| 1000精品久久久久久久久| 色婷婷av一区二区三区之一色屋| 亚洲一本大道在线| 日韩欧美电影一区| 国产99久久久国产精品免费看| 国产精品国产a级| 在线看不卡av| 日本少妇一区二区| 国产亚洲欧洲997久久综合| 不卡视频一二三四| 亚洲一区二区三区精品在线| 欧美精品一级二级三级| 国产一区二区影院| 亚洲欧洲成人精品av97| 在线成人免费观看| 国产成人在线网站| 亚洲欧美视频一区| 欧美一区二区三区婷婷月色| 国产激情91久久精品导航| 亚洲免费av在线| 日韩一二三区不卡| 国产成人综合在线播放| 亚洲一区二区av在线| 日韩美一区二区三区| 成人av影院在线| 日韩精品成人一区二区三区| 国产网红主播福利一区二区| 91在线视频18| 美女精品自拍一二三四| 国产精品久久毛片av大全日韩| 在线看不卡av| 国产精品一级在线| 亚洲动漫第一页| 久久亚洲综合av| 欧美视频中文字幕| 国产精品资源在线看| 亚洲国产日韩精品| 久久久久久麻豆| 欧美片在线播放| 成人的网站免费观看| 美女一区二区久久| 亚洲精品国产高清久久伦理二区| 精品嫩草影院久久| 欧美综合亚洲图片综合区| 国产资源在线一区| 亚洲福利视频导航| 中文字幕va一区二区三区| 91精品在线观看入口| 91麻豆免费观看| 免费观看日韩av| 亚洲色图制服丝袜| 久久久久久久性| 欧美高清一级片在线| 99国产精品99久久久久久| 美国av一区二区| 午夜在线成人av| 亚洲人成亚洲人成在线观看图片| 欧美精品一区二区三区久久久 | 国产精品久久久久国产精品日日| 日韩欧美精品在线| 欧美日韩国产123区| 99精品欧美一区| 国产福利一区在线| 久久国产精品72免费观看| 亚洲mv大片欧洲mv大片精品| 亚洲国产岛国毛片在线| 精品国产a毛片| 日韩亚洲电影在线| 欧美人与z0zoxxxx视频| 欧美专区日韩专区| 91蜜桃婷婷狠狠久久综合9色| 国产精品一区在线| 国产在线一区观看| 欧美96一区二区免费视频| 亚洲成人福利片| 亚洲女人的天堂| 精品国产电影一区二区| 日韩一二三区不卡| 日韩欧美国产精品一区| 日韩一级二级三级精品视频|