簡體   English   中英

命名和目錄(JNDI) - 使用JNDI的缺陷是什么

[英]Naming and Directory (JNDI) - What are Pitfalls for Using JNDI

命名和目錄(JNDI) - 使用JNDI的缺陷是什么

這是我的前三名:

  1. 缺乏文件
  2. 半心半意的API
  3. 除了app服務器之外,還沒有找到任何人使用它

有幾個教程如何使用JNDI,但大多數時候,當出現問題時你會陷入困境。 該實現還對有用的錯誤消息表示不滿。 如果找不到密鑰,那么您只需獲取最里面的密鑰名稱 - 缺少導致密鑰的路徑。

也無法導航JNDI層次結構。 當您無法導航時,與父級和子級建立層次結構有什么意義?

那么java:comp/env呢? 為什么會這樣? 我什么時候可以省略它? 我何時必須使用它? 有沒有人添加過一個不以java:開頭的樹java:

這個問題有點模糊,但這里有幾點要考慮並且與JNDI有關。

  1. JNDI的好處是對象創建與對象查找分離
  2. 在JDNI中直接查找會妨礙可測試性,如果可能,更喜歡注入
  3. 如果您仍然使用直接查找,則需要自己或使用文件系統實現來模擬JNDI
  4. 如果你在app中使用它,請注意classloader問題。 服務器
  5. 如果您計划實現自己的對象工廠(上下文,環境等), ObjectFactory中使用的參數會以某種方式模糊不清
  6. 每個JVM都有自己的JNDI。 當客戶端查找遠程EJB時,會使用一個特殊工廠來返回對EJB的遠程引用,但JNDI本身就是本地的。 (注意,存在集群JNDI實現,但我沒有使用它的經驗)。
  7. EJB的命名將取決於app。 服務器
  8. 全球和本地JNDI始終是混亂的根源
  9. 我從來沒有見過任何人搜索JNDI目錄,只有查找的例子

我使用JDNI在Glassfish中實現自定義資源,這沒關系。 但我發現JNDI經常引起混亂。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM