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

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

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

    JAVA

    人生若只如初見,何事秋風(fēng)悲畫扇。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      50 隨筆 :: 25 文章 :: 157 評論 :: 0 Trackbacks

    在EJB3中,所有的服務(wù)對象管理都是POJOS(e.g., session beans)或者是輕量級組件(e.g., message driven beans).

    簡單的看下各種BEAN:

    1:Stateless Session Beans(EJB3中已經(jīng)不再有HOME接口了)

    Define the session bean interface

    要定議一SESSION BEAN,首先必須定義一服務(wù)接口包含它所有的業(yè)務(wù)邏輯方法(define the service interface containing all its business methods.)SESSION BEAN的接口沒有注釋,客戶通過EJB3的窗口來獲取此對象接口。

    public interface Calculator 

         
    public double calculate (int start, int end, double growthrate, double saving); 
    }
     

    The session bean implementation

    定義好接口好后,就是提供對此接口的繼承了,此繼承是一個簡單的POJO,EJB3的窗口自動實(shí)例化管理此POJO。由@Stateless來申明類型。注意此類名后面一定得有Bean,如CalculatorBean


    @Stateless
    public class CalculatorBean 
                   
    implements Calculator, RemoteCalculator {

      
    public double calculate (int start, int end, 
                        
    double growthrate, double saving) {
        
    double tmp = Math.pow(1+ growthrate / 12., 
                              
    12* (end - start) + 1);
        
    return saving * 12* (tmp - 1/ growthrate;
      }


    }
     


    Remote and local interface

    一個SESSION BEAN可以繼承多個接口,每個接口對應(yīng)不同類型的客戶端,默認(rèn)的接口是“LOCAL”,也就是運(yùn)行在EJB3窗口的同一個JVM中,比如說,以上的BENAS和JSP頁面都運(yùn)行于同一個JBOSS JVM中。也是繼承ROMOTE接口,遠(yuǎn)程客戶通過遠(yuǎn)程調(diào)用此接口,此接口一般除了LOCAL中的方法外,不有些別的方法(相對LOCAL而言),比如對服務(wù)端的說明。如下 :

    public interface RemoteCalculator {
      
    public double calculate (int start, int end, double growthrate, double saving); 

     
    public String getServerInfo (); 

    }

     



    The session bean client

    一旦此BEAN部署到了EJB3的窗口,也就已經(jīng)在服務(wù)器中的JNDI注冊中已經(jīng)注冊(Once the session bean is deployed into the EJB 3.0 container, a stub object is created and it is registered in the server's JDNI registry.)。客戶端可以通過在JNDI中對此接口的類名的引用來實(shí)現(xiàn)對其方法的引用。客戶端代碼(JSP中哦):

    private Calculator cal = null;

    public void jspInit () {
        
    try {
          InitialContext ctx 
    = new InitialContext();
          cal 
    = (Calculator) ctx.lookup(
                      Calculator.
    class.getName());
        }
     catch (Exception e) {
          e.printStackTrace ();
        }

    }


    //  

    public void service (Request req, Response rep) {
        
    //  
        double res = cal.calculate(start, end, growthrate, saving);
    }

    注:應(yīng)盡量避免使用遠(yuǎn)程接口(效率,花費(fèi)...)

    在繼承實(shí)現(xiàn)BEAN的類中可以通過@Local and @Remote 的注釋來指定此BEAN的接口類型。如:

    @Stateless 
    @Local(
    {Calculator.class}
    @Remote (
    {RemoteCalculator.class}
    public class CalculatorBean implements Calculator, RemoteCalculator 
    {
      
    public double calculate (int start, int end, double growthrate, double saving) 
      

        
    double tmp = Math.pow(1+ growthrate / 12., 12* (end - start) + 1); 
        
    return saving * 12* (tmp - 1/ growthrate; 
      }


      
    public String getServerInfo () 
      
    {
        
    return "This is the JBoss EJB 3.0 TrailBlazer"
      }

    }
     


    也可以通過@Local and @Remote在接口中分別指定,這樣就不用在繼承實(shí)現(xiàn)類中再指定了,如:

    @Remote 
    public interface RemoteCalculator 
    //   } 


    總結(jié):本節(jié)主要學(xué)習(xí)了如何開發(fā)sessionless bean ,有時間繼續(xù)討論sessionful bean.

    參考:www.jboss.org相關(guān)文獻(xiàn)。

    posted on 2006-01-24 00:47 Jkallen 閱讀(549) 評論(0)  編輯  收藏

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 爱情岛亚洲论坛在线观看 | 国产免费私拍一区二区三区| 亚洲综合色丁香麻豆| 午夜影院免费观看| 国内自产少妇自拍区免费| 亚洲av永久无码嘿嘿嘿| 成人性生交视频免费观看| 亚洲精品国产日韩| 免费观看美女裸体网站| 黄页网址在线免费观看| 亚洲精品无码久久不卡| 99在线免费视频| 久久久久亚洲精品日久生情| 亚洲成人免费网址| 亚洲成人动漫在线观看| 四虎影院免费在线播放| 二级毛片免费观看全程| 亚洲AV日韩AV永久无码绿巨人 | 国产精品永久免费视频| 亚洲日本va中文字幕久久| 久久午夜夜伦鲁鲁片无码免费| 四虎永久免费影院| 草久免费在线观看网站| 精品亚洲综合久久中文字幕| 精品国产免费人成电影在线观看 | 亚洲熟女综合一区二区三区| 日本免费中文字幕在线看| 久久久WWW免费人成精品| 中文字幕亚洲综合久久2| 成人免费无码大片a毛片软件| 一级毛片免费在线| 综合自拍亚洲综合图不卡区| 日韩电影免费在线| 秋霞人成在线观看免费视频| 亚洲欧美成人av在线观看| 18成禁人视频免费网站| 亚洲AV无码精品国产成人| 成人免费777777| 美女无遮挡拍拍拍免费视频| 91亚洲精品麻豆| 久久久久亚洲精品无码网址 |