Liberty 中配置 MongoDB 連線功能

使用 MongoDB 的應用程式可以在 Liberty 上執行。如果要存取 MongoDB 實例,應用程式會使用您配置給伺服器的 MongoDB Java™ 驅動程式和資料來源。

開始之前

註: Liberty 提供 MongoDB 的配置支援。MongoDB(來自 "humongous")是一個可調式高效能開放程式碼的 NoSQL 資料庫。

只支援 MongoDB Java 驅動程式版本 2.10.0 到 2.14.2。對於 SSL,至少要 2.11.0,對於憑證鑑別,至少要 2.12.0。

關於這項作業

如果要使應用程式能夠使用 MongoDB,請在 Libertyserver.xml 檔中配置 MongoDB Java 驅動程式的共用程式庫,以及指向這個共用程式庫的程式庫參照。應用程式可以直接從應用程式或透過 server.xml 檔中的 mongodb-2.0 特性及 mongoDB 實例配置,來存取 MongoDB。

程序

  1. 將 MongoDB Java 驅動程式安裝在應用程式和 Liberty 執行時期能夠存取的位置。

    例如,將 MongoDB 驅動程式 .jar 檔放在 Liberty_profile_root/usr/servers/server_name/lib 目錄中。

  2. Liberty 伺服器的 server.xml 檔中,配置 MongoDB 驅動程式 .jar 檔的共用程式庫。
    <library id="MongoLib">
       <file name="${server.config.dir}/lib/mongo.jar" />
    </library>
  3. 讓您的應用程式能夠存取 MongoDB,可以從應用程式直接存取或使用 mongodb-2.0 特性來存取。
    • 直接從應用程式中存取 MongoDB。
      1. server.xml 檔內的應用程式元素中,配置共用程式庫的程式庫參照。
        <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 整合 2.0


指示主題類型的圖示 作業主題

檔名:twlp_mongodb_create.html