2012-04-19 8 views
0

初めてJNDIを使い始めました。私は、Mysqlデータベースに接続するTomcatにデプロイされたSpring Mvcを使用してWebアプリケーションを開発しています。Webアプリケーションのデータソースには、どのJNDI InitialContext実装を使用する必要がありますか?

私の理解から、JNDIデータソースを使用する理由は、アプリケーションをローカルおよびライブサーバーで実行しているときに別のデータベースに接続したいが、これを行うために構成を変更したくないということです。 JNDIからデータソースを取得します.JNDIは異なるマシン上に異なるデータソースを提供します。

私の質問は、JavaオブジェクトにどのようなJNDIコンテキストを使用すべきか不明です。私がオンラインで見つけた例の程度は、JNDIのコンテキストが何であるかを言わずに「JNDIから取得する」と言われる傾向があります。

具体的には、たとえばLDAPを使用する必要がありますか?または私は風袋を使用する必要がありますか?私がtomcatを使用している場合、グローバルなものではなく、ローカルのJDNIオブジェクト内のポイントは何ですか?つまり、ローカルのものは、JNDIオブジェクトを異なるものにしたいときに設定の設定を変更する必要があることを意味します。なぜJNDIでデータソースを設定するのが難しいのですか?直感的に言えば、私はグローバルなtomcat JNDIコンテキストが最良の選択肢だと思いますが、私は少しスケッチです。

答えて

1

私の経験によれば、同じアプリケーションを使用し、データベース情報に関してコードにハードコーディングするのではなく、変更せずにアプリケーションをデプロイするときに別のデータベースに接続する必要があります。

例えば、DEV - > QA - > ... - > Prod allが同じJNDI名を持っている可能性がありますが、それらは異なる環境で異なって構成されます。何も変更せずに同じ戦争/耳を使ってください。

(ENVあたりの変更)TCに設定されたJNDI名 - CODE異なる環境上を移動

JNDIは、コンフィギュレーションの面であなたの疎結合を提供します。

関連する問題