<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)  編輯  收藏
    主站蜘蛛池模板: 日本免费的一级v一片| 亚洲高清国产拍精品26U| 亚洲成a人片在线观| 无码国产精品一区二区免费式芒果 | 一区免费在线观看| 亚洲国模精品一区| jizz日本免费| 成年性羞羞视频免费观看无限| 久久精品国产亚洲Aⅴ香蕉| 一级毛片成人免费看a| 中文字幕无码视频手机免费看| 亚洲色偷偷偷网站色偷一区| 亚州**色毛片免费观看| 亚洲欧洲日本在线| 国产中文字幕在线免费观看| 亚洲av永久无码精品古装片| 99久久久国产精品免费牛牛 | 亚洲国产成人爱av在线播放| 一级特黄a免费大片| 亚洲精品无码永久在线观看你懂的| 99热在线日韩精品免费| 亚洲成a人片毛片在线| 最好免费观看韩国+日本| 亚洲高清免费在线观看| 一个人免费观看视频www| 亚洲av无码有乱码在线观看| 91香蕉成人免费网站| 中文字幕无码亚洲欧洲日韩| 午夜亚洲av永久无码精品| 国产成人精品亚洲一区| 最新国产AV无码专区亚洲| 最近免费中文字幕mv电影| 婷婷精品国产亚洲AV麻豆不片| 久久国产乱子伦精品免费午夜 | 亚洲一区二区三区91| 无码国产精品一区二区免费16| 国产成人精品日本亚洲18图| 亚洲XX00视频| 91免费在线播放| 又大又硬又粗又黄的视频免费看| 亚洲AV永久青草无码精品|