JNDI データソースを使用した MongoDB への接続
項目一覧
Overview
このガイドでは、Java 命名とディレクトリ インターフェース(JNDI)データソースを使用して MongoDB Java ドライバーを MongoDB インスタンスに接続する方法を学習します。
MongoClientFactory には、 ObjectFactory
MongoClient
接続 URI に基づいて インスタンスを返す JNDI 実装が含まれています。JNDI データソースを使用して接続するようにアプリケーションを構成する方法については、次のガイドを参照してください。
ワイルドフロー内 インストールに接続する場合は、 に MongoDB 用の新しいモジュールを作成します。
modules/system/layers/base/org/mongodb/main
以下の Java ファイルを モジュールにコピーします。mongodb-driver-sync-4.9.1.jar
mongodb-driver-core-4.9.1.jar
bson-4.9.1.jar
bson-record-codec-4.9.1.jar
次の
module.xml
ファイルを モジュールに追加します。<module xmlns="urn:jboss:module:1.3" name="org.mongodb"> <resources> <resource-root path="mongodb-driver-sync-4.1.0.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> <module name="javax.servlet.api" optional="true"/> </dependencies> </module> 前述のモジュール、
MongoClientFactory
クラス、 stringMongoDBクラスターの 接続 を参照するバインディングを命名サブシステム構成に追加します。<subsystem xmlns="urn:jboss:domain:naming:2.0"> <bindings> <object-factory name="java:global/MyMongoClient" module="org.mongodb" class="com.mongodb.client.MongoClientFactory"> <environment> <property name="connectionString" value="<connection string uri>"/> </environment> </object-factory> </bindings> <remote-naming/> </subsystem> 注意
property
タグ内のプレースホルダー接続値を、MongoDB インストールを指す値に置き換えます。
これにより、 java:global
コンテキストで JNDI 名MyMongoClient
を介して MongoClient インスタンスにアクセスできるようになります。
次の Jar ファイルを
lib
Atlas の ディレクトリにコピーします インストール:mongodb-driver-sync-4.9.1.jar
mongodb-driver-core-4.9.1.jar
bson-4.9.1.jar
bson-record-codec-4.9.1.jar
context.xml
アプリケーションのMongoClientFactory
ファイルに、 stringクラスとMongoDB クラスターの 接続 を参照するリソースを追加します。<Resource name="mongodb/MyMongoClient" auth="Container" type="com.mongodb.client.MongoClient" closeMethod="close" factory="com.mongodb.client.MongoClientFactory" singleton="true" connectionString="<connection string uri>"/> 注意
connectionString
属性内のプレースホルダー URI を、MongoDB インストールを指す値に置き換えます。アプリケーションの
web.xml
に、前のステップで定義されたMongoClientFactory
リソースへの参照を追加します。<resource-ref> <res-ref-name> mongodb/MyMongoClient </res-ref-name> <res-type> com.mongodb.MongoClient </res-type> <res-auth> Container </res-auth> </resource-ref>
これにより、 java:comp/env
コンテキストで JNDI 名mongodb/MyMongoClient
を介してMongoClient
インスタンスにアクセスできるようになります。
Tip
以下も参照してください。
ここにリストされているもの以外の JNDI 実装では、ドライバーの組み込みFactory
MongoClientFactory に基づいて独自の ラッパーを作成できます 実装。