Visão geral
Neste guia, você pode aprender como conectar o driver Java do MongoDB à sua instância do MongoDB usando uma fonte de dados Java Naming and Directory Interface (JNDI).
MongoClientFactory inclui uma implementação JNDI ObjectFactory que retorna instâncias MongoClient com base em umURI de conexão . Consulte os seguintes guias para saber como configurar seu aplicação para se conectar usando uma fonte de dados JNDI.
Em uma instalação do Wildfly, crie um novo módulo para o MongoDB em
modules/system/layers/base/org/mongodb/main. Copie os seguintes arquivos JAR para o módulo:mongodb-driver-sync-5.6.1.jarmongodb-driver-core-5.6.1.jarbson-5.6.1.jarbson-record-codec-5.6.1.jar
Adicione o seguinte arquivo
module.xmlno módulo:module.xml<module xmlns="urn:jboss:module:1.9" name="org.mongodb"> <resources> <resource-root path="bson-5.6.1.jar"/> <resource-root path="bson-record-codec-5.6.1.jar"/> <resource-root path="mongodb-driver-core-5.6.1.jar"/> <resource-root path="mongodb-driver-sync-5.6.1.jar"/> </resources> <dependencies> <module name="javax.api"/> <module name="javax.transaction.api"/> <module name="javax.servlet.api" optional="true"/> </dependencies> </module> Adicione uma ligação à configuração do subsistema de nomenclatura que referencia o módulo anterior, a classe
MongoClientFactorye a string de conexão para o MongoDB cluster.<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> Observação
Substitua o valor da conexão do espaço reservado na tag
propertypor um ponto que ponto para a instalação do MongoDB.
Isso torna uma instância MongoClient detectável por meio do nome JNDI MyMongoClient no contexto java:global .
Copie os seguintes arquivos java no diretório
libda sua instalação do Tomcat:mongodb-driver-sync-5.6.1.jarmongodb-driver-core-5.6.1.jarbson-5.6.1.jarbson-record-codec-5.6.1.jar
No arquivo
context.xmldo seu aplicação, adicione um recurso que faça referência à classeMongoClientFactorye à string de conexão para o cluster 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>"/> Observação
Substitua o URI do espaço reservado no atributo
connectionStringpor um valor que aponte para sua instalação do MongoDB .Em
web.xmldo seu aplicativo, adicione uma referência ao recursoMongoClientFactorydefinido na etapa 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>
Isto torna uma instância MongoClient detectável pelo nome JNDI mongodb/MyMongoClient no contexto java:comp/env .
Dica
Para implementações JNDI diferentes das listadas aqui, você pode criar seu próprio wrapper Factory com base na implementação MongoClientFactory integrada do driver.