Overview
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.
En una instalación de Wildfly, cree un nuevo módulo para MongoDB en.
modules/system/layers/base/org/mongodb/mainCopie los siguientes archivos jar en el módulo:mongodb-driver-sync-5.6.3.jarmongodb-driver-core-5.6.3.jarbson-5.6.3.jarbson-record-codec-5.6.3.jar
Agregue el siguiente archivo
module.xmlal 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> Agregue un enlace a la configuración del subsistema de nombres que haga referencia al módulo anterior,
MongoClientFactoryla 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
propertycon 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.
Copie los siguientes archivos jar en el
libdirectorio de su instalación de Tomcat:mongodb-driver-sync-5.6.3.jarmongodb-driver-core-5.6.3.jarbson-5.6.3.jarbson-record-codec-5.6.3.jar
En el
context.xmlarchivo de su aplicación, agregue un recurso que haga referencia a laMongoClientFactoryclase 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
connectionStringcon un valor que apunte a su instalación de MongoDB.En
web.xmlde su aplicación, agregue una referencia al recursoMongoClientFactorydefinido 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.