JNDIを使いたい理由

アプリケーションサーバで動かさないこともあるわけだから、JNDIで取得するのはつらいと思うけどね。また、アプリケーションサーバ外で動くJNDIの実装を使うこともできるけど、どのJNDIに接続するのかをパラメータで設定(環境設定)する必要があり、堂々巡りの予感。

ひがやすを blog

Tomcat環境やローカル環境ではJNDIは使いにくいですね。正直言ってJNDIはAPIとしてはあまり好きではありません(苦笑)
自分がJNDIで環境設定をしたいと思った理由は、前にも書いたように「環境設定内容をアプリ側で持たない」為ですね。以前、war内に環境設定情報持ったプロジェクトで、顧客セキュリティ監査に引っかかったことがあったので・・・まぁセキュリティとして重視してる方向がサーバ向きではなくて開発者向きというのがポイントなんですが(苦笑)・・・こちらも仕事の度に厳しい内容の誓約をされる身なので、決して軽視はできないわけでして・・・
war内にもプロジェクトリポジトリ内にも持てないので、リポジトリ管理無しで独自フォーマットやFW依存のファイルを使うよりは、サーバ管理者が保守・運用しやすいJNDIの方がいいという結論を出しました。今仕事で使っているSpring2.5では、JNDIルックアップを簡単に行えるjeeタグが存在するので、こういうやり方にはよく合っていますね。Tomcat環境・テスト環境に関しては、現在はSeasar2のJndiContextをフル活用しています。この理論だと、JndiContextの設定はアプリ側が持っているので、Tomcatは開発用途にしか使えませんが・・・