Thinking

          快樂編程,開心生活
          posts - 21, comments - 27, trackbacks - 0, articles - -5
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          EJB流程初探

          Posted on 2007-02-06 17:33 lixw 閱讀(640) 評論(0)  編輯  收藏

          昨天看了一天的EJB,才剛剛對EJB的流程有了一點了解,現在總結出來,請大家多多指教:

          1、創建自己的Bean(現在我只學習了一個會話Bean的例子),其中包含商務方法的實現;

          (2--5的操作可由容器自動完成,如WebLogic中的Build EJB,如果在MyEclipse中,可以在生成Bean的時候選擇是用XDoclet自動生成以下接口)

          2、創建遠程接口(繼承自EJBObject),其中包括商務方法的空實現(必須拋出遠程異常),客戶端通過該接口與EJB對象交互,

          ??? 它的具體實現由EJB容器供應商實現,實現的對象就是EJB對象,它擁有對實際Bean的引用;

          3、創建Home接口(繼承自EJBHome),其中至少包含一個create()方法,這個方法返回EJB對象,并拋出遠程異常,

          ??? 它的作用相當于EJB對象的生成庫;

          (4和5是可選的操作,本地用戶可以通過這些接口而不是遠程接口來調用Bean)

          4、創建本地接口(繼承自EJBLocalObject),方法跟遠程接口中的相當,只是不需要拋出遠程異常;

          5、創建本地Home接口(繼承自EJBLocalHome),方法跟Home接口相當,同樣不需要拋出遠程異常;

          6、如果采用自動生成接口的話,同時會在META-INF生成下生成多個XML配置文件:

          ??ejb-jar.xml:它是EJB規范中要求的配置,是容器無關的。下面是一個實際配置的例子

          ?1 < ejb-jar >
          ?2 ?? < enterprise-beans >
          ?3
          ?4 <! -配置會話Bean- >
          ?5 ???? < session >
          ?6 ?????? < ejb-name > HelloBean </ ejb-name >
          ?7 ?????? < home > bean.HelloHome </ home >
          ?8 ?????? < remote > bean.HelloObject </ remote >
          ?9 ?????? < ejb-class > bean.HelloBean </ ejb-class >
          10 ?????? < session-type > Stateless </ session-type >
          11 ?????? < transaction-type > Container </ transaction-type >
          12 ???? </ session >
          13
          14 ???? < entity >
          15 <! -配置實體Bean- >
          16 ???? </ entity >
          17 ?? </ enterprise-beans >
          18 </ ejb-jar >
          19

          ?還有一個與特定容器相關的配置文件:

          如WebLogic中配置文件為weblogic-ejb-jar.xml,下面是一個實際配置的例子:

          1 < weblogic-ejb-jar >
          2 ?? < weblogic-enterprise-bean >
          3 ???? < ejb-name > HelloBean </ ejb-name >
          4 ???? < stateless-session-descriptor >
          5 ???? </ stateless-session-descriptor >
          6 ?????? < jndi-name > ejb.helloJNDI </ jndi-name >
          7 ?? </ weblogic-enterprise-bean >
          8 ? < weblogic-ejb-jar >

          在Jboss則會有相應的配置文件。

          7、現在我們看到我們的Bean、Home接口、EJBObject接口已經與特定的命名綁定;

          8、現在客戶端要調用Bean中的某個商務方法:

          • 通過JNDI查找到Home對象,獲得它的引用;
          • Home對象是EJB對象的生成庫,由它創建生成新的EJB對象;
          • 客戶端調用EJB對象的商務方法;
          • EJB對象將請求委托給實際的Bean;
          • Bean實現商務方法。

          ?


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 达拉特旗| 双牌县| 民丰县| 冀州市| 东台市| 仪征市| 元江| 临清市| 温泉县| 慈溪市| 葫芦岛市| 武穴市| 乡城县| 乐山市| 阿克苏市| 元谋县| 遵化市| 武穴市| 马公市| 兴海县| 清河县| 常熟市| 呼玛县| 商河县| 黄冈市| 绥芬河市| 永定县| 枞阳县| 阿合奇县| 赣州市| 焦作市| 昌宁县| 涟源市| 巍山| 临沧市| 林口县| 金湖县| 新昌县| 南雄市| 左贡县| 隆化县|