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

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

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

    當柳上原的風吹向天際的時候...

    真正的快樂來源于創造

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
    命名服務概述
    命名服務(Naming Service)是可以將復雜數據對象或其引用關聯到已知名稱的機制.然后可以發布這些名稱,客戶可以使用這些名稱查詢與它們相關聯的數據對象.名稱與對象之間的關聯稱為綁定.命名服務通常與其它服務(如文件系統,目錄和數據庫等)集成以提供這種綁定.大家可以從現代圖書館的卡片目錄系統來理解命名服務.

    JNDI介紹(Java Naming and Directory Inteface,Java命名與目錄接口)
    JNDI是Java命名與目錄接口(Java Naming and Directory Inteface)的縮寫,有時也簡稱Java名錄服務,J2EE組件通過調用JNDI提供的查找(lookup)方法以定位對象。JNDI是專門為Java設計的,一個Java應用程序可以用JNDI檢索Java對象.JNDI還可以執行標準目錄操作,如關聯屬性和對象,并用對象的屬性搜索它們.
    JNDI名字是對象的友好名字,這些名字通過J2EE服務器提供的命名目錄服務綁定到各自的對象上。由于J2EE組件是通過JNDI編程接口訪問服務的,所以通常情況下把對象的友好名字稱之為JNDI名字。比如,mydatabase數據庫的JNDI名字為jdbc/mydatabase,一旦J2EE服務器啟動,系統自動從配置文件讀取相關信息,并將jdbc/mydatabase的JNDI數據庫名字添加到名字空間。
    Sun公司對JNDI的定義為”一種對Java平臺的標準擴展,它為Java技術編寫的應用程序提供了對企業中多種命名和目錄服務的統一接口.作為Java Enterprise API集的一部分,JNDI使與異構企業命名和目錄服務的無縫連接提供了可能”.

    連接工廠(Connection Factory)
    連接工廠(Connection Factory)是用于產生鏈接對象,使得J2EE組件可以訪問資源的一種對象。比如,用于數據庫的連接工廠是javax.sql.Database對象,它產生java.sql.Connection對象。

    JNDI和Weblogic Server
    Weblogic提供了在JNDI規范中規定的實現.這使Java客戶可以用標準JNDI調用連接到Weblogic Server.客戶可以在Weblogic命名空間中訪問Weblogic命名服務并使對象可用,還可以檢索它們.
    如果希望訪問已經加載到Weblogic Server的JNDI樹中的對象的Java客戶一般要執行以下任務:
    1.與服務器建立一個上下文
    2.對JNDI樹進行查詢或者更新

    取得上下文例程
    這是在命名空間中訪問綁定對象的第一步.應用程序將獲得引導上下文稱為InitialContext.它是從InitialContext工廠獲得的.這個工廠使用幾個屬性標識上下文需要指向的Weblogic Server.
    Hashtable ht=new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY, 
    "weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL, 
    "t3://127.0.0.1:7001");

    Context ctx
    =null;   

    try {
        ctx
    =new InitialContext(ht);
    catch (NamingException e) {
        e.printStackTrace();
        System.out.println(
    "不能得到上下文");
    }

    創建一個綁定例程
    要在WeblogicJNDI樹中創建一個新的綁定,可使用Context.bind方法.這個方法以新綁定的名稱以及綁定到這個名稱號的對象為參數.注意這個對象必須是可序列化的,也就是說它必須實現java.io.Serializablejie接口(實現這個接口無需實現任何方法,它只是告訴JVM這個對象可以序列化).
    Hashtable ht=new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY, 
    "weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL, 
    "t3://127.0.0.1:7001");
    Context ctx
    =null;   
    try {
      ctx
    =new InitialContext(ht);  
      String text
    ="菩提本非樹,明鏡亦非臺,本來無一物,何處染塵埃.";   
      ctx.bind(
    "TEST", text);
    catch (NamingException e) {
      e.printStackTrace();
      System.out.println(
    "不能得到上下文");
    }

    下面是在Weblogic中查看剛才創建的綁定內容圖示
    一.點擊環境,服務器,點擊“查看JNDI樹鏈接”


    二.可以看到已經綁定到JNDI樹中的對象

    刪除現有的綁定例程
    使用Context.unbind方法可以從JNDI樹中刪除綁定,不能再從樹中訪問這些對象了.
    Hashtable ht=new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY, 
    "weblogic.jndi.WLInitialContextFactory");
    ht.put(Context.PROVIDER_URL, 
    "t3://127.0.0.1:7001");

    Context ctx
    =null;   
    try {
      ctx
    =new InitialContext(ht);  
      ctx.unbind(
    "TEST");
    catch (NamingException e) {
      e.printStackTrace();
      System.out.println(
    "不能得到上下文");
    }

    總結
    JNDI為應用程序提供了標準統一的方式,連接和使用企業中存在的多個對象目錄的能力.WeblogiocServer提供了JNDI的實現,客戶機可以和它無縫連接.同一客戶機還可以用JNDI API連接到另一命名服務上.Weblogic Server大量利用JNDI樹完成其常規功能.如果應用程序使用EJB,那么這個EJB就發布在JNDI樹中,類似的其它對象如DataSource對象,事務對象都發布在JNDI樹上.

    參考例程
    WeblogicJNDI(注意:weblogic.jar請自行加入lib目錄)

    posted on 2009-09-25 09:16 何楊 閱讀(4194) 評論(0)  編輯  收藏
    主站蜘蛛池模板: 日韩一级视频免费观看| 成人免费黄色网址| 久久这里只精品国产免费10| 国产成人精品无码免费看 | 亚洲一欧洲中文字幕在线| 亚洲人成电影院在线观看| 亚洲国产精品嫩草影院| 色吊丝免费观看网站| 久久久WWW免费人成精品| 久久久久成人精品免费播放动漫| 999任你躁在线精品免费不卡| 韩国免费一级成人毛片| 凹凸精品视频分类国产品免费| 亚洲精品少妇30p| 亚洲成a人片7777| 鲁死你资源站亚洲av| 91成人免费观看在线观看| 97在线视频免费| 国产免费观看网站| 亚洲AV永久无码区成人网站 | 亚洲国产人成在线观看| 亚洲精品天堂无码中文字幕| igao激情在线视频免费| 91在线手机精品免费观看| 国产高清免费在线| 亚洲av之男人的天堂网站| 亚洲中文字幕无码中文字| 美女被免费网站91色| 免费精品国产自产拍在| 久久久久亚洲AV综合波多野结衣| 亚洲黄色高清视频| 日韩大片免费观看视频播放| 97青青草原国产免费观看| 深夜国产福利99亚洲视频| 亚洲精品日韩专区silk | 亚洲日韩国产精品乱-久| a高清免费毛片久久| 最新欧洲大片免费在线| 亚洲一区二区三区偷拍女厕| 亚洲av无码不卡久久| 成人无码视频97免费|