<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    斷點(diǎn)

    每天進(jìn)步一點(diǎn)點(diǎn)!
    posts - 174, comments - 56, trackbacks - 0, articles - 21

    EJB3.0 基礎(chǔ)

    Posted on 2010-01-13 22:36 斷點(diǎn) 閱讀(257) 評(píng)論(0)  編輯  收藏 所屬分類: EJB3.0

    EJB(Enterprise JavaBeans)在JavaEE體系中,通常用來完成商務(wù)邏輯層的功能,EJB是一種組件結(jié)構(gòu)。EJB組件要按照EJB規(guī)范編寫,然后部署到應(yīng)用服務(wù)器上,具體講是運(yùn)行在J2EE應(yīng)用服務(wù)器的EJB容器中,該部分軟件不單為EJB提供運(yùn)行時(shí)的環(huán)境,更重要的是提供事務(wù)、會(huì)話管理、持久性、安全等服務(wù)。EJB容器通過查看EJB描述符(配置文件)確定EJB需要那些服務(wù)。客戶機(jī)要訪問EJB組件需要通過JNDI和RMI定位EJB的對(duì)外接口。

    采用EJB開發(fā)基于MVC(包含顯示層、控制層和業(yè)務(wù)層)結(jié)構(gòu)的應(yīng)用,那么EJB就是用于開發(fā)應(yīng)用的業(yè)務(wù)層。

    開發(fā)EJB遵循如下步驟進(jìn)行:
    1.開發(fā)構(gòu)成EJB組件的Java源文件,比如:組件接口、Home接口、企業(yè)Bean類、所需的輔助類等。
    2.手工完成部署描述符,或者借助與IDE。
    3.編譯步驟1開發(fā)的java源文件.
    4.借助于JDK自帶的jar使用工具,來創(chuàng)建含有部署描述符和.class文件的EJB-jar文件。
    5.通過具體EJb容器提供的部署建議,來完成Ejb-jar文件的部署。
    6.配置EJB服務(wù)器,使得Ejb-jar含有的Ejb組件能夠正常運(yùn)作。
    7.啟動(dòng)EJB服務(wù)器。此時(shí),開發(fā)者可以驗(yàn)證EJB組件是否部署成功,并運(yùn)行。
        
    EJB3.0規(guī)范定義了如下3種EJB組件類型:
    1、會(huì)話Bean(SessionBean):無狀態(tài)會(huì)話Bean(Stateless SessionBean)、有狀態(tài)會(huì)話Bean(Stateful SessionBean)。
    會(huì)話Bean通常有以下屬性:
    (1)代表單個(gè)客戶機(jī)執(zhí)行。
    (2)可以是事務(wù)的。
    (3)可以更新共享數(shù)據(jù)庫中的數(shù)據(jù)。
    (4)生存期相對(duì)較短。
    (5)其生存期通常就是客戶機(jī)的生存期。
    (6)任何持久性數(shù)據(jù)都有Bean管理。
    (7)可以依容器的判斷予以刪除。
    (8)會(huì)在EJB服務(wù)器失敗時(shí)被刪除。
          EJB容器管理無狀態(tài)會(huì)話Bean的生存周期,其方式是通過創(chuàng)建足夠多數(shù)量的此種Bean適應(yīng)客戶機(jī)工作負(fù)荷,并在不需要它們的時(shí)候?qū)⑵鋭h除或者將閑置的Bean寫到磁盤上。
          如果會(huì)話Bean在方法調(diào)用之前需要保留狀態(tài)信息,則必須使用有狀態(tài)的會(huì)話Bean(Stateful SessionBean)。
         會(huì)話Bean在J2EE應(yīng)用程序中被用來完成一些服務(wù)器端的業(yè)務(wù)操作,例如訪問數(shù)據(jù)庫、調(diào)用其他EJB組件。
         總之,會(huì)話Bean代表一種操作:它檢索或者存儲(chǔ)數(shù)據(jù)以滿足用戶的請(qǐng)求。

    2、實(shí)體Bean(EntityBean),通常有以下屬性:
    (1)代表數(shù)據(jù)庫的數(shù)據(jù)。
    (2)是事務(wù)性的。
    (3)允許多個(gè)用戶共同訪問。
    (4)可以長期存在。
    (5)持久性數(shù)據(jù)可以由容器管理。
    (6)在EJB服務(wù)器失敗后能繼續(xù)生存。
          實(shí)體Bean被用來代表應(yīng)用數(shù)據(jù)庫中用到的數(shù)據(jù)。例如在一個(gè)電子商務(wù)系統(tǒng)中,實(shí)體Bean可以被用來代表產(chǎn)品、雇員、信用卡、訂單數(shù)據(jù)等數(shù)據(jù)對(duì)象。
          持久性是實(shí)體Bean的一個(gè)基本屬性。EJB規(guī)范允許兩種形式的實(shí)體持久性:Bean管理的持久性(BMP)和容器管理的持久性(CMP)。
          實(shí)體Bean支持多個(gè)用戶并發(fā)的訪問數(shù)據(jù)。EJB規(guī)范說明,維護(hù)數(shù)據(jù)的完整性是容器的責(zé)任。容器完成這個(gè)任務(wù)通常的做法是,鎖定數(shù)據(jù)庫中的數(shù)據(jù),并使訪問串行化,或者通過創(chuàng)建多個(gè)實(shí)體Bean的實(shí)例,并允許在基礎(chǔ)數(shù)據(jù)存儲(chǔ)中使用并發(fā)控制,來管理訪問。
         總之,實(shí)體Bean代表一種數(shù)據(jù)集:可以訪問這些數(shù)據(jù)集以滿足用戶的請(qǐng)求。

    3、消息驅(qū)動(dòng)bean(Message DrivenBean)
         消息驅(qū)動(dòng)Bean要與JMS結(jié)合使用,以提供消息驅(qū)動(dòng)的異步處理功能。例如電子商務(wù)系統(tǒng)的交易確認(rèn)就可以用消息驅(qū)動(dòng)Bean來實(shí)現(xiàn)。
         消息驅(qū)動(dòng)Bean作為JMS隊(duì)列和主題的監(jiān)聽器部署,當(dāng)有JMS消息到達(dá),系統(tǒng)就會(huì)調(diào)用消息驅(qū)動(dòng)Bean去完成業(yè)務(wù)邏輯方法。
         總之,客戶機(jī)不能直接調(diào)用消息驅(qū)動(dòng)Bean,客戶通過發(fā)送JMS消息調(diào)用消息驅(qū)動(dòng)Bean。


    posted @ 2009-03-13 15:11 斷點(diǎn) 閱讀(122) | 評(píng)論 (0)
    主站蜘蛛池模板: 一个人看的www免费在线视频| 亚洲一级毛片免费在线观看| 亚洲国产精品无码av| 国产高清免费视频| 美女黄网站人色视频免费| 国产亚洲av片在线观看播放 | 男男AV纯肉无码免费播放无码 | 免费无码AV电影在线观看| 羞羞视频网站免费入口| 亚洲a一级免费视频| 在线观看人成视频免费| 男女作爱在线播放免费网站| 亚洲AV无码专区国产乱码不卡| 国产亚洲精品无码成人| 国产精品免费电影| 久久久久免费看成人影片| 全黄A免费一级毛片| 在线观看亚洲AV日韩A∨| 国产亚洲成av人片在线观看| 国产成人免费一区二区三区| 精品一区二区三区无码免费视频| 九九九精品视频免费| 亚洲熟女综合一区二区三区| 久久亚洲精品国产精品黑人| 又大又硬又爽免费视频| 无码人妻一区二区三区免费手机| a色毛片免费视频| 国产亚洲精品免费| 亚洲国产日韩精品| 亚洲视频一区在线| 亚洲人成网7777777国产| 亚洲成a人片在线观看久| 性一交一乱一视频免费看| 5g影院5g天天爽永久免费影院| 国产男女爽爽爽免费视频 | 一二三四视频在线观看中文版免费| 中国videos性高清免费| 免费又黄又爽又猛大片午夜 | 亚洲av无码成人影院一区| 亚洲不卡1卡2卡三卡2021麻豆| 日韩va亚洲va欧洲va国产|