Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Conéctate a MongoDB mediante un origen de datos JNDI

En esta guía, puedes aprender cómo conectar el driver Java de MongoDB a tu instancia de MongoDB utilizando un origen de datos de Java Naming and Directory Interface (JNDI).

MongoClientFactory incluye un JNDI ObjectFactory implementación que devuelve MongoClient instancias basadas en un URI de conexión. Consulta las siguientes guías para aprender a configurar tu aplicación para conectarse usando una fuente de datos JNDI.

  1. En una instalación de Wildfly, crea un nuevo módulo para MongoDB en modules/system/layers/base/org/mongodb/main. Copia los siguientes archivos jar en el módulo:

    • mongodb-driver-sync-5.7.0.jar

    • mongodb-driver-core-5.7.0.jar

    • bson-5.7.0.jar

    • bson-record-codec-5.7.0.jar

    Agregue el siguiente archivo module.xml al módulo:

    module.xml
    <module xmlns="urn:jboss:module:1.9" name="org.mongodb">
    <resources>
    <resource-root path="bson-5.7.0.jar"/>
    <resource-root path="bson-record-codec-5.7.0.jar"/>
    <resource-root path="mongodb-driver-core-5.7.0.jar"/>
    <resource-root path="mongodb-driver-sync-5.7.0.jar"/>
    </resources>
    <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.servlet.api" optional="true"/>
    </dependencies>
    </module>
  2. Agregue una vinculación a la configuración del subsistema de nomenclatura que haga referencia al módulo anterior, a la clase MongoClientFactory y a la cadena de conexión para el clúster 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>

    Nota

    Reemplace el valor de conexión del marcador de posición en la etiqueta property con un valor que apunte a su instalación de MongoDB.

Esto hace que una instancia de MongoClient sea detectable a través del nombre JNDI MyMongoClient dentro del contexto java:global.

  1. Copia los siguientes archivos jar en el directorio lib de tu instalación de Tomcat:

    • mongodb-driver-sync-5.7.0.jar

    • mongodb-driver-core-5.7.0.jar

    • bson-5.7.0.jar

    • bson-record-codec-5.7.0.jar

  2. En el archivo context.xml de la aplicación, añada un recurso que haga referencia a la clase MongoClientFactory y a la cadena de conexión del clúster de 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>"/>

    Nota

    Reemplaza el URI de marcador de posición en el atributo connectionString con un valor que apunte a tu instalación de MongoDB.

  3. En web.xml de la aplicación, añade una referencia al recurso MongoClientFactory definido en el paso anterior:

    <resource-ref>
    <res-ref-name>
    mongodb/MyMongoClient
    </res-ref-name>
    <res-type>
    com.mongodb.MongoClient
    </res-type>
    <res-auth>
    Container
    </res-auth>
    </resource-ref>

Esto hace que una instancia de MongoClient sea detectable a través del nombre JNDI mongodb/MyMongoClient en el contexto java:comp/env.

Tip

Para las implementaciones de JNDI distintas de las que se enumeran aquí, puedes crear tu propio Factory contenedor basado en la implementación integrada MongoClientFactory del driver.

Volver

Compresión de la red

En esta página