Liberty での MongoDB 接続の構成

Liberty では、MongoDB を使用するアプリケーションを実行することができます。MongoDB インスタンスにアクセスするために、アプリケーションは、サーバーに構成した MongoDB Java™ ドライバーおよびデータ・ソースを使用します。

始める前に

注: Liberty では、MongoDB の構成サポートを提供します。MongoDB (「humongous (巨大な)」という語に由来) は、拡張が容易で高性能なオープン・ソースの NoSQL データベースです。

MongoDB Java ドライバーのバージョン 2.10.0 から 2.12.5 のみがサポートされます。

このタスクについて

アプリケーションが MongoDB を使用できるようにするには、Liberty の server.xml ファイルに MongoDB Java ドライバーの共有ライブラリーと、その共有ライブラリーのライブラリー参照を構成する必要があります。アプリケーションは MongoDB に直接アクセスするか、または、server.xml ファイル内の mongodb-2.0 フィーチャー および mongoDB インスタンスの構成を通してアクセスできます。

手順

  1. ご使用のアプリケーションと Liberty ランタイムがアクセスできるロケーションに MongoDB Java ドライバーをインストールします。

    例えば、Liberty_profile_root/usr/servers/server_name/lib ディレクトリーに MongoDB ドライバーの .jar ファイルを置きます。

  2. Liberty サーバーの server.xml ファイルで MongoDB ドライバーの .jar ファイルの共有ライブラリーを構成します。
    <library id="MongoLib">
       <file name="${server.config.dir}/lib/mongo.jar" />
    </library>
  3. アプリケーションからの直接アクセス、または mongodb-2.0 フィーチャーの使用によって、アプリケーションが MongoDB にアクセスできるようにします。
    • アプリケーションから MongoDB への直接アクセスを可能にします。
      1. server.xml ファイルの application エレメントで共有ライブラリーのライブラリー参照を構成します。
        <application ...>
           <classloader commonLibraryRef="MongoLib"/>
        </application>
        これで、アプリケーションは MongoDB API に 直接アクセスできるようになります。アプリケーションがランタイム注入エンジンを使用するようにしたい場合は、続けて次のステップを実行してください。
    • server.xml ファイル内で mongodb-2.0 フィーチャー、mongo、 および mongoDB エレメントを構成します。
      1. mongodb-2.0 フィーチャーを server.xml ファイルに追加します。
        <featureManager>
           <feature>mongodb-2.0</feature>
           <feature>jndi-1.0</feature>
        </featureManager>
        JNDI フィーチャーは、リソースの検索に JNDI を使用 する場合のみ必要です。リソース・インジェクションを使用する場合は 必要ありません。
      2. 前のステップで作成された共有ライブラリーへの参照を持つ mongo エレメント を構成します。
        <mongo id="mongo" libraryRef="MongoLib" />
      3. mongoDB エレメントを構成します。
        <mongoDB jndiName="mongo/testdb" mongoRef="mongo" databaseName="db-test" />

        JNDI 名を構成することで、アプリケーションまたは Liberty ランタイムが MongoDB インスタンスを検索できるようになります。

      4. アプリケーションが 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");
        ...
      5. 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を参照してください。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_mongodb_create
ファイル名: twlp_mongodb_create.html