对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

使用 JNDI 数据源连接到 MongoDB

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

MongoClientFactory 包含JNDI ObjectFactory实施,该实现根据连接 URI 返回 MongoClient 实例。请参阅以下指南,学习;了解如何配置应用程序以使用 JNDI 数据源进行连接。

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

    • mongodb-driver-sync-5.8.0.jar

    • mongodb-driver-core-5.8.0.jar

    • bson-5.8.0.jar

    • bson-record-codec-5.8.0.jar

    将以下module.xml文件添加到模块中:

    module.xml
    <module xmlns="urn:jboss:module:1.9" name="org.mongodb">
    <resources>
    <resource-root path="bson-5.8.0.jar"/>
    <resource-root path="bson-record-codec-5.8.0.jar"/>
    <resource-root path="mongodb-driver-core-5.8.0.jar"/>
    <resource-root path="mongodb-driver-sync-5.8.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 安装的值。

这使得 MongoClient 实例可通过java:global上下文中的 JNDI 名称MyMongoClient发现。

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

    • mongodb-driver-sync-5.8.0.jar

    • mongodb-driver-core-5.8.0.jar

    • bson-5.8.0.jar

    • bson-record-codec-5.8.0.jar

  2. context.xml在应用程序的MongoClientFactory 文件中,添加引用 类和 stringMongoDB集群 连接 的资源:

    <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 实现,您可以根据驱动程序的内置MongoClientFactory实施创建自己的 Factory 包装器。

在此页面上