Не удается подключить MongoDb через JNDI в Java - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь подключить MongoDB через JNDI в wildfly, используя приведенный ниже код.

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

Но я получаю следующую ошибку.

 Exception->com.mongodb.MongoClient cannot be cast to com.mongodb.MongoClient

Я использую mongo-java-driver-3.4.0.jar в каталоге "wildfly-10.1.0.Final/modules/system/layers/base/org/mongodb/main" и "mongodb-driver-3.4.0.jar "in" wildfly-10.1.0.Final/standalone/deployments/APPLICATION.war/WEB-INF/lib ".Почему я получаю вышеуказанное исключение.

1 Ответ

0 голосов
/ 27 декабря 2018

Вы получите ClassCastExceptions, когда класс загружен одним загрузчиком классов, затем попытайтесь привести его к тому же классу, загруженному другим загрузчиком классов.

Классы представлены двумя различными объектами Class внутри JVM, и приведение не будет выполнено.

Поскольку Mongo-драйвер поставляется WildFly, попробуйте not , связав его сваше приложение (WAR) - при использовании Maven пометьте драйвер как при условии .

...