ひがやすを技術ブログ

電通国際情報サービスのプログラマ

JNDIの次の様なコードを見たことがあるかもしれません。


Properties env = new Properties();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"org.seasar.naming.NamingContextFactory");
env.put(Context.PROVIDER_URL, "localhost:1108");
InitialContext ctx = new InitialContext(env);
JNDIでは、INITIAL_CONTEXT_FACTORYで指定されたクラスの
Context getInitialContext(Hashtable env)を呼び出して、
Contextオブジェクトを取得します。envは、
InitialContextのコンストラクタに渡されたオブジェクトです。
Seasarの場合、
return new NamingContext(env, null);
としています。そして、NamingContextクラスで、
PROVIDER_URLより、Seasarの位置を特定し、接続するようになってます。