Я пытался подключить свое приложение kotlin + Ktor к кластеру атласа mongodb, используя morphia . Я выполнил несколько руководств о том, как это сделать, но каждый раз получаю эту ошибку:
at com.example.ApplicationKt.main(Application.kt:16)
Caused by: java.lang.NoSuchMethodError: 'java.lang.Integer com.mongodb.ConnectionString.getThreadsAllowedToBlockForConnectionMultiplier()'
at com.mongodb.MongoClientURI.getOptions(MongoClientURI.java:351)
at com.mongodb.Mongo.createCluster(Mongo.java:724)
at com.mongodb.Mongo.<init>(Mongo.java:312)
at com.mongodb.Mongo.<init>(Mongo.java:308)
at com.mongodb.MongoClient.<init>(MongoClient.java:326)
at com.example.di.ModulesKt$appModules$1.invoke(modules.kt:17)
Кажется, проблема в MongoClient, пытающемся подключиться к кластеру. Ниже показано, как я пытаюсь создать хранилище данных морфии:
val uri = MongoClientURI("mongodb+srv://admin:<password>@my-db-1dodp.mongodb.net/test?retryWrites=true&w=majority")
val client = MongoClient(uri)
fun getDB(): Datastore { return Morphia().mapPackage("com.example.ktor").createDatastore(client, "db-name")}
В чем может быть проблема?