Java JNDIコンセプト
JNDI(Java Naming and Directory Interface)はアプリケーション設計のAPIであり、開発者に様々なネーミングとディレクトリサービスの検索とアクセスを提供する汎用的で統一的なインタフェースであり、JDBCのように抽象層上に構築されている.現在JNDIはJ 2 EEの標準の一つとなっており、すべてのJ 2 EE容器はJNDIのサービスを提供しなければならない.
JNDIは、ネットワーク上でサービスを検索してアクセスできる統一的な方法を提供しています.データベースまたはネーミング・サービスのレコードに対応するリソース名を指定し、データベース接続の確立に必要な情報を返します.
JNDIは主に2つの部分で構成されています.
アプリケーションプログラミングインタフェースと
サービス・ベンダー・インタフェース.アプリケーション・プログラミング・インタフェースは、Javaアプリケーションが各種のネーミングおよびディレクトリ・サービスにアクセスする機能を提供し、サービス・ベンダー・インタフェースは、任意のサービスのベンダーが使用する機能を提供します.
コードの例:
Springでデータベースを構成しました(DataSourceこれはそのうちの1つです)
JNDIテクノロジーはJavaEE仕様の重要な「バックグラウンド」ロールであり、javaEEコンテナの構築、プロバイダの構築、および
アプリケーション間の橋渡し:JavaEEコンテナはJNDIプロバイダの役割を果たし、プロバイダを構築します.
あるサービスの具体的な実装はコンテナに配備され、アプリケーションは標準的なJNDIインタフェースを通じてコンテナ上で発見し、
サービスの具体的な実現が何なのか、彼の具体的な位置はどこにあるのかに関心を持つ必要はありません.
JNDIは、ネットワーク上でサービスを検索してアクセスできる統一的な方法を提供しています.データベースまたはネーミング・サービスのレコードに対応するリソース名を指定し、データベース接続の確立に必要な情報を返します.
JNDIは主に2つの部分で構成されています.
アプリケーションプログラミングインタフェースと
サービス・ベンダー・インタフェース.アプリケーション・プログラミング・インタフェースは、Javaアプリケーションが各種のネーミングおよびディレクトリ・サービスにアクセスする機能を提供し、サービス・ベンダー・インタフェースは、任意のサービスのベンダーが使用する機能を提供します.
コードの例:
Springでデータベースを構成しました(DataSourceこれはそのうちの1つです)
try{
Context cntxt = new InitialContext();
DataSource ds = (DataSource) cntxt.lookup("jdbc/dpt");
}catch(NamingException ne){
...
}
まとめ:JNDIテクノロジーはJavaEE仕様の重要な「バックグラウンド」ロールであり、javaEEコンテナの構築、プロバイダの構築、および
アプリケーション間の橋渡し:JavaEEコンテナはJNDIプロバイダの役割を果たし、プロバイダを構築します.
あるサービスの具体的な実装はコンテナに配備され、アプリケーションは標準的なJNDIインタフェースを通じてコンテナ上で発見し、
サービスの具体的な実現が何なのか、彼の具体的な位置はどこにあるのかに関心を持つ必要はありません.