2015-10-07 37 views
3

數據源的標準命名約定JNDI Name是什麼?什麼是數據源的JNDI名稱的標準命名約定?

假設我有一個名爲MyAppDS數據源。對於MyAppDSJNDI Name的標準命名約定是什麼?

感謝

+0

我不知道任何標準的命名約定,常見的命名約定是「jdbc/MyAppDS」。它的東西,你總是手動配置,所以你可以自由選擇你想要的東西。 https://docs.oracle.com/javaee/7/tutorial/resource-creation002.htm#BNCJJ – Gimby

+0

請參閱[這個相關問題的相關答案](http://stackoverflow.com/a/34496196/441652) 。 – uvsmtid

回答

5

JNDI/Naming Policies

企業命名空間是植根於對Java URL 方案中的URL上下文。例如,您可以爲Payroll ejb使用名稱,例如 「java:comp/env/ejb/Payroll」。在 的根上下文中,名稱空間是名爲「comp」的綁定,該名稱綁定到爲組件相關綁定保留的子樹。組件的名稱「comp」爲 。在「補償」方面,提供了一種用於 「ENV」 .The名「ENV」被綁定到被保留用於 組件的環境相關的綁定,通過其部署描述符 定義的子樹。 「env」是環境的簡稱。 J2EE建議(但 不要求)「env」命名空間的以下結構。

資源工廠引用被放置在由 他們的資源管理器類型的分化子樹。下面是一些例子:

"jdbc" for JDBCTM DataSource references 
"jms" for JMS connection factories 
"mail" for JavaMail connection factories 
"url" for URL connection factories 

例如,JDBC數據庫薪水可能有名稱 的 「java:comp/env的/ JDBC /工資」。

0

資源是提供與系統(如數據庫 服務器和消息傳遞系統)的連接的程序對象。 (Java數據庫連接資源有時被稱爲數據源 。)每個資源對象都由一個唯一的,用戶友好的名稱(稱爲JNDI名稱)標識。例如, GlassFish服務器附帶的Java DB數據庫的預配置JDBC資源的JNDI名稱爲java:comp/DefaultDataSource。 (Java EE官方教程:第三部分第3.1章)

三個JNDI命名空間用於可移植的JNDI查找:java:global, java:module和java:app。 (Java EE官方教程:第七部分第32.4.1.1章)

通過示例,Netbeans將在資源配置文件中調用您的數據庫連接:jndi-name =「jdbc/UrDataSourceName」,完整的jndi名稱可能是「java:jdbc/UrDataSourceName」