posts - 66,  comments - 11,  trackbacks - 0
          為創(chuàng)建和銷(xiāo)毀EJB對(duì)象,開(kāi)發(fā)者需要使用Home接口。Home接口的實(shí)現(xiàn)是Home對(duì)象,而Home對(duì)象由EJB服務(wù)器提供的工具生成。
          package com.wyq.ejb;

          import javax.ejb.EJBHome;
          /**
           * Hello EJB組件的Home接口。它由EJB服務(wù)器提供的工具實(shí)現(xiàn)。Home接口實(shí)現(xiàn)
           * 稱(chēng)之為Home對(duì)象。Home對(duì)象充當(dāng)了創(chuàng)建EJB對(duì)象的工廠。
           * 
           * 在該Home接口中,存在create()方法。它對(duì)應(yīng)于HelloBean中的ejbCreate()方法。
           
          */
          public interface HelloHome extends EJBHome {
              
          /**
               * 創(chuàng)建EJB對(duì)象,
               * 
          @return 新建的EJB對(duì)象。
               
          */
              Hello create() 
          throws java.rmi.RemoteException,javax.ejb.CreateException;
              
          /**
               * 1、為獲得對(duì)EJB對(duì)象的引用,客戶(hù)需要使用create方法。其中,create方法還能夠完成
               * EJB組件的初始化工作。
               * 2、create方法拋出了如下異常:RemoteException和CreateException。由于Home對(duì)象是網(wǎng)絡(luò)
               * 使能的基于RMI-IIOP的遠(yuǎn)程對(duì)象,因此要拋出RemoteException異常。
               
          */
          }

          本地Home接口是Home接口的高性能版本。
          package com.wyq.ejb;

          import javax.ejb.EJBLocalHome;
          /**
           * Hello EJB組件的本地Home接口。它由EJB服務(wù)器提供的工具實(shí)現(xiàn)。
           * 本地Home接口實(shí)現(xiàn)稱(chēng)之為本地Home對(duì)象。本地Home對(duì)象充當(dāng)了創(chuàng)建EJB本地對(duì)象的工廠。
           *
           
          */
          public interface HelloLocalHome extends EJBLocalHome {
              
          /**
               * 創(chuàng)建EJB本地對(duì)象
               * 
          @return 返回新創(chuàng)建的EJB本地對(duì)象。
               
          */
              HelloLocal create()
          throws javax.ejb.CreateException;
          }


          創(chuàng)建企業(yè)Bean類(lèi)
          package com.wyq.ejb;

          import java.rmi.RemoteException;

          import javax.ejb.EJBException;
          import javax.ejb.SessionBean;
          import javax.ejb.SessionContext;
          /**
           * 演示無(wú)狀態(tài)會(huì)話Bean.
           *
           
          */
          public class HelloBean implements SessionBean {
              
          private SessionContext ctx;
              
          //EJB規(guī)范定義的方法
              public void ejbCreate(){
                  System.out.println(
          "ejbCreate()");
              }
              
          public void ejbRemove() throws EJBException, RemoteException {
                  System.out.println(
          "ejbRemove()");
              }
              
          public void ejbActivate() throws EJBException, RemoteException {
                  System.out.println(
          "ejbActivate()");
              }

              
          public void ejbPassivate() throws EJBException, RemoteException {
                  System.out.println(
          "ejbPassivate()");
              }
              
          /**
               * 由于企業(yè)Bean宿主在受管容器中,因此容器能夠在任何時(shí)候調(diào)用企業(yè)Bean的方法。但如果企業(yè)Bean
               * 需要查詢(xún)?nèi)萜鞯漠?dāng)前信息的話,需要為EJB提供何種信息呢?比如在EJB中,組件本身可能需要查詢(xún)當(dāng)前用戶(hù)
               * 的安全性憑證信息。
               * 
               * 容器將這些信息包含在稱(chēng)之為"EJB上下文"的對(duì)象中。EJB上下文對(duì)象是通往EJB容器的關(guān)口。其中,EJB上
               * 下文是容器的組成部分,開(kāi)發(fā)者能夠在企業(yè)Bean中訪問(wèn)到它。因此,在某種程度上,EJB上下文是為企業(yè)Bean
               * 訪問(wèn)容器提供的回調(diào)。該回調(diào)有助于企業(yè)Bean探知其自身的狀態(tài),并修改他們。
               * 
               * EJB上下文對(duì)于會(huì)話Bean、實(shí)體Bean、消息驅(qū)動(dòng)Bean而言很有用。比如會(huì)話Bean含有會(huì)話上下文、實(shí)體Bean
               * 含有實(shí)體上下文、消息驅(qū)動(dòng)Bean含有消息驅(qū)動(dòng)上下文。
               * 依據(jù)EJB類(lèi)型的不同,開(kāi)發(fā)者能夠分別通過(guò)調(diào)用setSessionContext、setEntityContext、setMessageDivenContext
               * 方法設(shè)置EJB上下文信息。
               
          */
              
          public void setSessionContext(SessionContext ctx) throws EJBException,
                      RemoteException {
                  
          this.ctx = ctx;
              }
              
          //業(yè)務(wù)方法
              public String hello(){
                  System.out.println(
          "hello()");
                  
          return "Hello,World!";
              }

          }

          posted on 2009-10-30 13:01 王永慶 閱讀(164) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): EJB學(xué)習(xí)筆記
          <2009年10月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          常用鏈接

          留言簿(1)

          隨筆分類(lèi)

          隨筆檔案

          關(guān)注blogs

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 富源县| 太和县| 遂宁市| 龙陵县| 湟中县| 徐州市| 大关县| 哈密市| 济宁市| 黔江区| 孟津县| 天柱县| 浠水县| 华容县| 华安县| 梧州市| 张家界市| 电白县| 丹阳市| 屏东县| 白银市| 邵阳市| 汤原县| 马鞍山市| 灌云县| 巴彦淖尔市| 常州市| 工布江达县| 永福县| 平谷区| 武平县| 全州县| 岚皋县| 河间市| 赤壁市| 清镇市| 弥勒县| 会东县| 兴义市| 巴东县| 翁源县|