java - 如何在java中通过JNDI连接MongoDB

标签 java mongodb jackson mongo-java mongo-java-driver

目前我正在使用以下代码通过java连接到MongoDB。

MongoClientURI uri = new MongoClientURI("mongodb://10.0.8.78:27017/mydb");          
MongoClient mongoClient = new MongoClient(uri);

我想使用JNDI创建MongoClient对象。以下是我在wildfly中的jndi配置。

<subsystem xmlns="urn:jboss:domain:naming:2.0">
    <bindings>
        <object-factory name="java:global/MyMongoClient" module="org.mongodb" class="com.mongodb.client.jndi.MongoClientFactory">
            <environment>
                <property name="connectionString" value="mongodb://10.0.8.78:27017/mydb" />
            </environment>
        </object-factory>
    </bindings>
    <remote-naming />
</subsystem>

创建 MongoClient 对象以通过 JNDI 连接到 MongoDB 需要进行哪些代码更改。

最佳答案

您可以使用下面的代码调用 mongodb 客户端,

@Resource(lookup = "java:global/LocalMongoClient")
private MongoClient mongoClient;

Context ctx = new InitialContext();
MongoClient mongoClient = (MongoClient) ctx.lookup("java:global/LocalMongoClient")

关于java - 如何在java中通过JNDI连接MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53940821/

相关文章:

java - 无法使用具有构建器模式的 jackson 3+ 实例化 POJO

java - junit中测试用例计算超时值的因素有哪些

mongodb - 使用 mongo 查找某人在未来 30 天内是否过生日

mongodb - 无法确定数据目录中锁定文件的状态

java - Spring boot - Jackson日期序列化和反序列化

java - 如何在 TomEE 7 中使用 Jackson 作为 JAX-RS-Client 而不是 Johnzon 的 JSON 提供者?

java正则表达式字符串被 "not\"分割

java - org.dbunit.dataset.NoSuchTableException,但表存在

java - LazyInitializationException 使用带有 @Basic(fetch = FetchType.LAZY) 的 hibernate 增强

javascript - Cosmos DB Mongo API 如何管理 "Request Rate is Large"条件