日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JNDI配置原理详解

發布時間:2024/7/23 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JNDI配置原理详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近寫書,寫到JNDI,到處查資料,發現所有的中文資料都對JNDI解釋一通,配置代碼也是copy的,調了半天也沒調通,最后到SUN的網站參考了一下他的JNDI tutorial,終于基本上徹底明白了

和多數java服務一樣,SUN對JNDI也只提供接口,使用JNDI只需要用到JNDI接口而不必關心具體實現:

Java 代碼

private static Object jndiLookup() throws Exception { InitialContext ctx = new InitialContext(); return ctx.lookup("java:comp/env/systemStartTime"); }
上述代碼在J2EE服務器環境下工作得很好,但是在main()中就會報一個NoInitialContextException,許多文章會說你創建InitialContext的時候還要傳一個Hashtable或者Properties,像這樣:

Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); env.put(Context.PROVIDER_URL,"t3://localhost:7001"); InitialContext ctx = new InitialContext(env);這個在WebLogic環境下是對的,但是換到JBoss呢?再用JBoss的例子?

其實之所以有NoInitialContextException是因為無法從System.properties中獲得必要的JNDI參數,在服務器環境下,服務器啟動時就把這些參數放到System.properties中了,于是直接new InitialContext()就搞定了,不要搞env那么麻煩,搞了env你的代碼還無法移植,弄不好管理員設置服務器用的不是標準端口還照樣拋異常。

但是在單機環境下,可沒有JNDI服務在運行,那就手動啟動一個JNDI服務。我在JDK 5的rt.jar中一共找到了4種SUN自帶的JNDI實現:

LDAP,CORBA,RMI,DNS。

這4種JNDI要正常運行還需要底層的相應服務。一般我們沒有LDAP或CORBA服務器,也就無法啟動這兩種JNDI服務,DNS用于查域名的,以后再研究,唯一可以在main()中啟動的就是基于RMI的JNDI服務。

現在我們就在main()中啟動基于RMI的JNDI服務并且綁一個Date對象到JNDI上: LocateRegistry.createRegistry(1099); System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.rmi.registry.RegistryContextFactory"); System.setProperty(Context.PROVIDER_URL, "rmi://localhost:1099"); InitialContext ctx = new InitialContext(); class RemoteDate extends Date implements Remote {}; ctx.bind("java:comp/env/systemStartTime", new RemoteDate()); ctx.close();
注意,我直接把JNDI的相關參數放入了System.properties中,這樣,后面的代碼如果要查JNDI,直接new InitialContext()就可以了,否則,你又得寫Hashtable env = ...

在RMI中綁JNDI的限制是,綁定的對象必須是Remote類型,所以就自己擴展一個。

其實JNDI還有兩個Context.SECURITY_PRINCIPAL和Context.SECURITY_CREDENTIAL,如果訪問JNDI需要用戶名和口令,這兩個也要提供,不過一般用不上。

在后面的代碼中查詢就簡單了:
InitialContext ctx = new InitialContext(); Date startTime = (Date) ctx.lookup("java:comp/env/systemStartTime");


創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的JNDI配置原理详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色悠悠在线视频 | 成年人午夜视频 | 国产va在线观看 | 午夜99| 天天躁夜夜躁av天天爽 | 国产精品久久久久野外 | 国产成人精品二区三区亚瑟 | 成人区人妻精品一区 | 国产二区免费 | 一区二区成人av | 四虎黄色影视 | 超在线视频 | 久久网av | 日本中文字幕一区二区 | 色多多在线观看 | 成年网站免费观看 | 三级黄色片免费观看 | 天天插天天狠 | 91蜜桃 | 香蕉视频黄污 | 亚洲第一伊人 | 天天看天天爽 | 欧美精品一二区 | 精品白浆| √资源天堂中文在线视频 | 欧美精品久久久久久久自慰 | 五月天伊人网 | 欧美精品片 | 日本黄色中文字幕 | 国产av剧情一区 | 色永久 | 无套内谢大学处破女www小说 | 日本亲近相奷中文字幕 | 香蕉网在线观看 | 草莓视频在线观看入口w | 在线观看视频毛片 | 天堂素人约啪 | 成年人在线观看视频免费 | 日韩夜色 | 亚洲成人av在线播放 | 逼特逼视频在线观看 | 亚洲精品视频在线观看免费视频 | 午夜欧美成人 | 影音先锋每日资源 | 免费啊v在线观看 | 久久精品视频99 | 精品久久久久久久久中文字幕 | 极品少妇一区二区 | 99热网站| 午夜久久视频 | 刘亦菲一区二区三区免费看 | 狠狠干夜夜草 | 双性高h1v1| 狠狠插狠狠干 | 欧美激情xxx| 丰满人妻一区二区三区免费视频棣 | 91香蕉国产在线观看 | 亚洲乱码国产乱码精品精大量 | 成人av在线资源 | 黄色大网站 | 91av视频免费观看 | 欧美一级二级在线观看 | 蜜臀aⅴ国产精品久久久国产老师 | 华人av在线 | 超碰99热 | 中文字幕在线播放一区 | 成人黄色在线观看 | 山村大伦淫第1部分阅读小说 | 玖玖爱在线观看 | 亚洲色图在线观看 | 国产在线精品视频 | 在线观看日韩中文字幕 | 国产成人在线视频观看 | 国产好片无限资源 | 91久久久久 | 免费看黄网站在线 | 国产精品88久久久久久妇女 | 阿v天堂在线观看 | 欧美国产在线看 | 亚洲人成无码www久久久 | 日本aa视频 | av一二三四 | 麻豆毛片 | 免费成人在线观看视频 | 成人啪啪18免费游戏链接 | 日本一道本 | 亚洲欧美视频在线播放 | 靠逼在线观看 | 两个女人互添下身爱爱 | 欧美日韩久久婷婷 | www国产一区 | 女同av网站 | 国产精品二区在线 | 巨乳美女在线 | 国产av成人一区二区三区高清 | 自拍三级视频 | 午夜宅男影院 | 亚洲av无码乱码在线观看富二代 | 中国毛片在线观看 |