Docs Menu
Docs Home
/ /

Conectarse a MongoDB mediante una fuente 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 en función de una URI de conexión. Consulte las siguientes guías para aprender a configurar su aplicación para conectarse mediante una fuente de datos JNDI.

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

    • mongodb-driver-sync-5.6.3.jar

    • mongodb-driver-core-5.6.3.jar

    • bson-5.6.3.jar

    • bson-record-codec-5.6.3.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.6.3.jar"/>
    <resource-root path="bson-record-codec-5.6.3.jar"/>
    <resource-root path="mongodb-driver-core-5.6.3.jar"/>
    <resource-root path="mongodb-driver-sync-5.6.3.jar"/>
    </resources>
    <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    <module name="javax.servlet.api" optional="true"/>
    </dependencies>
    </module>
  2. Agregue un enlace a la configuración del subsistema de nombres que haga referencia al módulo anterior,MongoClientFactory la clase y 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 en el contexto java:global.

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

    • mongodb-driver-sync-5.6.3.jar

    • mongodb-driver-core-5.6.3.jar

    • bson-5.6.3.jar

    • bson-record-codec-5.6.3.jar

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

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

  3. En web.xml de su aplicación, agregue 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 MongoClient sea detectable a través del nombre JNDI mongodb/MyMongoClient en el contexto java:comp/env.

Tip

Para implementaciones JNDI distintas de las que se enumeran aquí, puede crear su propio Factory contenedor basado en la implementación MongoClientFactory incorporada del controlador.

Volver

Compresión de la red

En esta página