Liberty では、MongoDB を使用するアプリケーションを実行することができます。MongoDB インスタンスにアクセスするために、アプリケーションは、サーバーに構成した MongoDB Java™ ドライバーおよびデータ・ソースを使用します。
始める前に
注: Liberty では、MongoDB の構成サポートを提供します。MongoDB (「humongous (巨大な)」という語に由来) は、拡張が容易で高性能なオープン・ソースの NoSQL データベースです。
MongoDB Java ドライバーのバージョン 2.10.0 から 2.14.2 のみがサポートされます。SSL のための最小は 2.11.0、証明書認証のための最小は 2.12.0 です。
このタスクについて
アプリケーションが MongoDB を使用できるようにするには、Liberty の
server.xml ファイルに MongoDB Java ドライバーの共有ライブラリーと、その共有ライブラリーのライブラリー参照を構成する必要があります。アプリケーションは MongoDB に直接アクセスするか、または、server.xml ファイル内の mongodb-2.0 フィーチャー
および mongoDB インスタンスの構成を通してアクセスできます。
手順
- ご使用のアプリケーションと Liberty ランタイムがアクセスできるロケーションに MongoDB Java ドライバーをインストールします。
例えば、Liberty_profile_root/usr/servers/server_name/lib ディレクトリーに
MongoDB ドライバーの .jar ファイルを置きます。
- Liberty サーバーの server.xml ファイルで MongoDB ドライバーの .jar ファイルの共有ライブラリーを構成します。
<library id="MongoLib">
<file name="${server.config.dir}/lib/mongo.jar" />
</library>
- アプリケーションからの直接アクセス、または mongodb-2.0 フィーチャーの使用によって、アプリケーションが MongoDB にアクセスできるようにします。
- アプリケーションから MongoDB への直接アクセスを可能にします。
- server.xml ファイルの application エレメントで共有ライブラリーのライブラリー参照を構成します。
<application ...>
<classloader commonLibraryRef="MongoLib"/>
</application>
これで、アプリケーションは MongoDB API に
直接アクセスできるようになります。アプリケーションがランタイム注入エンジンを使用するようにしたい場合は、続けて次のステップを実行してください。
- server.xml ファイル内で mongodb-2.0 フィーチャー、mongo、
および mongoDB エレメントを構成します。
- mongodb-2.0 フィーチャーを server.xml ファイルに追加します。
<featureManager>
<feature>mongodb-2.0</feature>
<feature>jndi-1.0</feature>
</featureManager>
JNDI フィーチャーは、リソースの検索に JNDI を使用
する場合のみ必要です。リソース・インジェクションを使用する場合は必要ありません。
- 前のステップで作成された共有ライブラリーへの参照を持つ mongo エレメント
を構成します。
<mongo id="mongo" libraryRef="MongoLib" />
- mongoDB エレメントを構成します。
<mongoDB jndiName="mongo/testdb" mongoRef="mongo" databaseName="db-test" />
JNDI 名を構成することで、アプリケーションまたは Liberty ランタイムが MongoDB インスタンスを検索できるようになります。
- アプリケーションが MongoDB にアクセスできるようにします。
以下の例は、JNDI 検索とリソース注入の両方を示しています。
public class TestServlet extends HttpServlet {
@Resource(name = "mongo/testdb")
protected DB db;
...
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// Alternatively use InitialContext lookup
DB lookup = (DB) new InitialContext().lookup("java:comp/env/mongo/testdb");
...
- JNDI 検索を使用する場合は、
アプリケーションの web.xml ファイルにリソース環境参照を追加します。
<resource-env-ref> <resource-env-ref-name>mongo/testdb</resource-env-ref-name>
<resource-env-ref-type>com.mongodb.DB</resource-env-ref-type>
</resource-env-ref>
次のタスク
アプリケーションから MongoDB を使用できるかテストします。
MongoDB エレメントについて詳しくは、MongoDB Integration 2.0 を参照してください。