使用 MongoDB 的應用程式可以在 Liberty上執行。 若要存取 MongoDB 實例,應用程式會使用您為伺服器配置的 MongoDB Java™ 驅動程式及資料來源。
MongoDB(來自 humongous
)是一個可調式高效能開放程式碼的 NoSQL 資料庫。
已穩定特性: mongodb-2.0 特性已穩定。 此特性支援的 MongoDB Java 驅動程式 2.10.0 版到 2.14.2 版不再運行。
為 Mongo 建立 CDI 生產者,而不是使用
mongodb-2.0 特性。 CDI 生產者可以使用符合您需求的任何 Mongo 版本。
開始之前
只支援 MongoDB Java 驅動程式版本 2.10.0 到 2.14.2。 對於 SSL,至少要 2.11.0,對於憑證鑑別,至少要 2.12.0。
關於這項作業
如果要讓應用程式能夠使用 MongoDB,您可以在 Liberty的 server.xml 檔中配置 MongoDB Java 驅動程式的共用程式庫,以及指向共用程式庫的程式庫參照。 應用程式可以直接從應用程式或透過 server.xml 檔中的 mongodb-2.0 特性及 mongoDB 實例配置來存取 MongoDB 。
程序
- 將 MongoDB Java 驅動程式安裝在您應用程式及 Liberty 執行時期可以存取的位置。
例如,將 MongoDB 驅動程式 .jar 檔放在 Liberty_profile_root/usr/servers/server_name/lib 目錄中。
- 在 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 ...>
<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 整合 2.0。