文档菜单
文档首页
/ / /
Java 同步驱动程序
/ /

使用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.2.1.jar

    • mongodb-driver-core-5.2.1.jar

    • bson-5.2.1.jar

    • bson-record-codec-5.2.1.jar

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

    module.xml
    <module xmlns="urn:jboss:module:1.9" name="org.mongodb">
    <resources>
    <resource-root path="bson-5.2.1.jar"/>
    <resource-root path="bson-record-codec-5.2.1.jar"/>
    <resource-root path="mongodb-driver-core-5.2.1.jar"/>
    <resource-root path="mongodb-driver-sync-5.2.1.jar"/>
    </resources>
    <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.servlet.api" optional="true"/>
    </dependencies>
    </module>
  2. 将绑定添加到命名子系统配置中,该绑定引用前面提到的模块、MongoClientFactory 类以及MongoDB集群的连接字符串。

    <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文件复制到您Tomcat安装

    • mongodb-driver-sync-5.2.1.jar

    • mongodb-driver-core-5.2.1.jar

    • bson-5.2.1.jar

    • bson-record-codec-5.2.1.jar

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

    <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包装器。

返回

SOCKS5 代理

本页内容