Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
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 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, 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.6.4.jar

    • mongodb-driver-core-5.6.4.jar

    • bson-5.6.4.jar

    • bson-record-codec-5.6.4.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.4.jar"/>
    <resource-root path="bson-record-codec-5.6.4.jar"/>
    <resource-root path="mongodb-driver-core-5.6.4.jar"/>
    <resource-root path="mongodb-driver-sync-5.6.4.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. Copia los siguientes archivos jar en el directorio lib de tu instalación de Tomcat:

    • mongodb-driver-sync-5.6.4.jar

    • mongodb-driver-core-5.6.4.jar

    • bson-5.6.4.jar

    • bson-record-codec-5.6.4.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