在 java 中无法通过 JNDI 连接 MongoDb
Can't connect MongoDb via JNDI in java
我正在尝试使用以下代码在 wildfly 中通过 JNDI 连接 MongoDB。
Context ctx = new InitialContext();
MongoClient mongoClient = (MongoClient) ctx.lookup("java:global/MyMongoClient");
但是我收到以下错误。
Exception->com.mongodb.MongoClient cannot be cast to com.mongodb.MongoClient
我在 "wildfly-10.1.0.Final/modules/system/layers/base/org/mongodb/main" 目录中使用 mongo-java-driver-3.4.0.jar,在 "wildfly-10.1.0.Final/standalone/deployments/APPLICATION.war/WEB-INF/lib" 中使用 "mongodb-driver-3.4.0.jar"。为什么我会收到上述异常。
当 class 使用一个 classloader 加载时,您将得到 ClassCastExceptions,然后尝试将其转换为由不同的 class装载机。
classes 在 JVM 中由两个不同的 Class 对象表示,转换将失败。
由于 Mongo-driver 由 WildFly 提供,请尝试 not 将其与您的应用程序捆绑在一起 (WAR) - 如果使用 Maven,请标记驱动程序如提供.
我正在尝试使用以下代码在 wildfly 中通过 JNDI 连接 MongoDB。
Context ctx = new InitialContext();
MongoClient mongoClient = (MongoClient) ctx.lookup("java:global/MyMongoClient");
但是我收到以下错误。
Exception->com.mongodb.MongoClient cannot be cast to com.mongodb.MongoClient
我在 "wildfly-10.1.0.Final/modules/system/layers/base/org/mongodb/main" 目录中使用 mongo-java-driver-3.4.0.jar,在 "wildfly-10.1.0.Final/standalone/deployments/APPLICATION.war/WEB-INF/lib" 中使用 "mongodb-driver-3.4.0.jar"。为什么我会收到上述异常。
当 class 使用一个 classloader 加载时,您将得到 ClassCastExceptions,然后尝试将其转换为由不同的 class装载机。
classes 在 JVM 中由两个不同的 Class 对象表示,转换将失败。
由于 Mongo-driver 由 WildFly 提供,请尝试 not 将其与您的应用程序捆绑在一起 (WAR) - 如果使用 Maven,请标记驱动程序如提供.