<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)航:
     
    主站蜘蛛池模板: 日韩精品免费一区二区三区| 亚洲国产精品无码久久一区二区| 十八禁的黄污污免费网站| 国产成人麻豆亚洲综合无码精品 | 免费很黄无遮挡的视频毛片| 国内精品99亚洲免费高清| 噼里啪啦免费观看高清动漫4| 在线观看亚洲电影| 午夜亚洲www湿好大| 免费看a级黄色片| 久久美女网站免费| 亚洲日韩一区精品射精| 亚洲国产精品一区二区第一页| 2021国产精品成人免费视频| 黄色三级三级免费看| 久久精品国产亚洲AV无码麻豆 | 国产精品亚洲成在人线| 在线播放免费播放av片| 你是我的城池营垒免费看| 亚洲精品123区在线观看| 亚洲精品无码久久千人斩| 歪歪漫画在线观看官网免费阅读| 国产乱妇高清无乱码免费| 亚洲国产日韩视频观看| 亚洲va无码va在线va天堂| 国产精品二区三区免费播放心| 先锋影音资源片午夜在线观看视频免费播放| 亚洲国产成人无码AV在线影院| 久久精品国产精品亚洲色婷婷| 又大又硬又爽免费视频| 国产1024精品视频专区免费| 成人性做爰aaa片免费看| 色网站在线免费观看| 亚洲午夜成人精品无码色欲| 中文字幕亚洲综合久久| 亚洲熟妇无码AV在线播放| 国产午夜影视大全免费观看| 欧美a级在线现免费观看| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 99re热精品视频国产免费| 久99久无码精品视频免费播放|