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

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

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

    posts - 195, comments - 34, trackbacks - 0, articles - 1

    jndi全局注冊表和enc的基本概念 zz

    Posted on 2009-03-24 10:26 小強摩羯座 閱讀(426) 評論(0)  編輯  收藏 所屬分類: Java
    jndi全局注冊表和enc的基本概念
       通俗的將jndi就是對ejb容器中所有的資源和組件進行管理的花名冊,通過該服務,可以很方便的找到希望使用的資源。當組件被部署到服務器上后,該組件就會被自動注冊到花名冊上,以便用戶使用,如果組件被卸載,花名冊上的記錄就會自動消失。
        jndi中注冊的所有的資源和組件可以被服務器內外的各種程序請求或者訪問,是一種全局性的資源!但是ejb中不同的組件通過全局性的jndi服務器形成依賴關系,則會給系統(tǒng)造成不穩(wěn)定的因素!因此就引入了enc(ejb組件的企業(yè)名稱上下文)的概念!通過她來實現(xiàn)不同組件之間的引用關系!!!!
    在上一篇文章中寫到了通過標注的方式實現(xiàn)方向依賴注入!還以上篇為例:
    有接口:HelloWordRemote  HelloWordLocal ICal(Remote)
    而HelloWordBean實現(xiàn)了分別實現(xiàn)了他們
    另外又有了個遠程接口:
    @Remote
    public Interface MyService{
    public String helloWord();
    public int add(int a,int b);
    }
    一個類想實現(xiàn)這個接口并且在這個類中引用了...如下:
    @Stateless
    public class FacedServcie implements MyService{
    private HelloWordLocal myserv1;
    private ICal ical;
    .....
    ....
    }
    可以通過配置文件實現(xiàn)反向依賴注入:
    <ejb-jar
           xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                               http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
           version="3.0">
       <enterprise-beans>
          <session>
             <ejb-name>FacedServcie</ejb-name>
             <ejb-ref>
               <ejb-ref-name>abc1</ejb-ref-name>
               <ejb-ref-type>Session</ejb-ref-type>
               <remote>com.ICal</remote>
               <mapped-name>HelloWordBean1/remote</mapped-name>
               <injection-target>
                  <injection-target-class>
                     xiaoxiao.FacedService
                  </injection-target-class>
                  <injection-target-name>
                     ical
                  </injection-target-name>
               </injection-target>
             </ejb-ref>
    .........(對于另一個組件的配置)
          </session>
       </enterprise-beans>
    </ejb-jar>
    還可以通過檢索的方式來實現(xiàn):
    @Stateless

    public class FacedServcie implements MyService{
    private HelloWordLocal myserv1;
    private ICal ical;
    public String helloWord(){
    try{
    InitialContext ctx=new InitalContext();
    ical=(ICal)ctx.lookup("java:comp/env/abc1");
    //其中java:comp/env是組件局部enc所有記錄的根路徑而abc1是在配置文件中注冊的名字!
    }catch(NamingException e){}
    if(ical!=null){
    return ical.helloWord();
    }else{
    return "error!";
    }
    }
    ....
    }
    配置文件如下:
    <ejb-jar
           xmlns="http://java.sun.com/xml/ns/javaee"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                               http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
           version="3.0">
       <enterprise-beans>
          <session>
             <ejb-name>FacedServcie</ejb-name>
             <ejb-ref>
               <ejb-ref-name>abc1</ejb-ref-name>
               <ejb-ref-type>Session</ejb-ref-type>
               <remote>com.ICal</remote>
               <mapped-name>HelloWordBean1/remote</mapped-name>         
             </ejb-ref>
    .........(對于另一個組件的配置)
          </session>
       </enterprise-beans>
    </ejb-jar>
    本人建議使用第一種反向依賴注入的方式!
    還有其他的一些注入:如持久化單元注入,資源型注入 數(shù)據(jù)源類型的注入。。。


    主站蜘蛛池模板: 好紧我太爽了视频免费国产| 国产精品亚洲专区无码唯爱网| 一级毛片视频免费观看| 免费一级特黄特色大片在线 | 亚洲国产综合精品中文第一区| 久久er国产精品免费观看8| 亚洲午夜久久久久妓女影院 | 国产成人无码免费网站| 亚洲av永久无码精品网站 | 18禁无遮挡无码国产免费网站| 亚洲电影一区二区三区| 亚洲小说图区综合在线| 午夜精品在线免费观看| 亚洲国产aⅴ成人精品无吗| 四虎影视免费永久在线观看 | 亚洲AV日韩AV永久无码色欲| 国产人成免费视频| 一级毛片人与动免费观看| 日本红怡院亚洲红怡院最新| 国产高清不卡免费视频| 亚洲精品视频在线观看视频| 99爱在线精品免费观看| 久久无码av亚洲精品色午夜| 国产亚洲精品看片在线观看| 国精产品一区一区三区免费视频| 99ri精品国产亚洲| 日本a级片免费看| 日韩亚洲国产高清免费视频| 精品国产免费观看一区| 久久久久久久久久免免费精品| 亚洲国产成人久久精品影视| 无码视频免费一区二三区| 丰满少妇作爱视频免费观看| 亚洲人成影院在线| 浮力影院第一页小视频国产在线观看免费 | 日本午夜免费福利视频| 久久久久久噜噜精品免费直播| 亚洲视频日韩视频| 日韩精品成人亚洲专区| 久久久高清日本道免费观看| 中文字幕精品三区无码亚洲 |