Docs 菜单
Docs 主页
/ / /
java sync
/ /

使用 JNDI 数据源连接到 MongoDB

在此页面上

  • 概述

在本指南中,您可以了解如何使用 Java 命名和目录接口 (JNDI) 数据源将 MongoDB Java 驱动程序连接到 MongoDB 实例。

MongoClientFactory 包括一个 JNDIObjectFactory 实现,根据MongoClient 连接 URI 返回 实例。请参阅以下指南,了解如何配置应用程序以使用 JNDI 数据源进行连接。

  1. In a Wildfly 安装后,请在 为 MongoDB 创建一个新模块。modules/system/layers/base/org/mongodb/main将以下 JAR 文件复制到模块中:

    • mongodb-driver-sync-4.8.2.jar

    • mongodb-driver-core-4.8.2.jar

    • bson-4.8.2.jar

    • bson-record-codec-4.8.2.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>
  2. 将绑定添加到命名子系统配置,以引用上述模块、 MongoClientFactory类以及 MongoDB cluster 的连接字符串

    <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 实例。

  1. 将以下 JAR 文件复制到lib Tomcat 的 目录中 安装:

    • mongodb-driver-sync-4.8.2.jar

    • mongodb-driver-core-4.8.2.jar

    • bson-4.8.2.jar

    • bson-record-codec-4.8.2.jar

  2. 在您的应用程序的context.xml文件中,添加一个引用MongoClientFactory类和MongoDB cluster的连接字符串的资源:

    <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 安装的值。

  3. 在应用程序 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实例。

提示

另请参阅:

对于此处列出之外的 JNDI 实现,您可以根据驱动程序的内置Factory MongoClientFactory 创建自己的 包装器 实施。

后退

在连接上启用 TLS/SSL

在此页面上