2016-12-03 2 views
0

このコードを使用して、localhost mongodbデータベースに接続します。 接続後、データを取得したいときにこの例外が発生します。async mongodb client vert.xのエラー

SEVERE: com.mongodb.internal.async.ErrorHandlingResultCallback.errorHandlingCallback(Lcom/mongodb/async/SingleResultCallback;)Lcom/mongodb/async/SingleResultCallback; 
java.lang.NoSuchMethodError: com.mongodb.internal.async.ErrorHandlingResultCallback.errorHandlingCallback(Lcom/mongodb/async/SingleResultCallback;)Lcom/mongodb/async/SingleResultCallback; 
    at com.mongodb.async.client.MongoClientImpl$2.execute(MongoClientImpl.java:100) 
    at com.mongodb.async.client.OperationIterable.batchCursor(OperationIterable.java:132) 
    at com.mongodb.async.client.OperationIterable.into(OperationIterable.java:64) 
    at com.mongodb.async.client.FindIterableImpl.into(FindIterableImpl.java:162) 
    at io.vertx.ext.mongo.impl.MongoClientImpl.findWithOptions(MongoClientImpl.java:235) 
    at io.vertx.ext.mongo.impl.MongoClientImpl.find(MongoClientImpl.java:217) 
    at verticle.ServerVerticle.start(ServerVerticle.java:53) 
    at io.vertx.core.impl.DeploymentManager.lambda$doDeploy$8(DeploymentManager.java:434) 
    at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:316) 
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) 
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:418) 
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:440) 
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:873) 
    at java.lang.Thread.run(Thread.java:745) 

私のコード:

MongoClient mongoClient = MongoClient.createShared(vertx, config().getJsonObject("mongodb")); 
     mongoClient.find("user",new JsonObject(),res->{ 
      if (res.succeeded()){ 
       List<JsonObject> jsonObjects=res.result(); 
       String name="ali"; 
       LOGGER.warn(jsonObjects.toString()); 
      } 
      else{ 
       String name="name"; 
      } 

     }); 
MongoDBのコンフィグはそれは私が。これらのオプションは、MongoDBのために正常に動作してデータベースに接続する必要がありDB_NAME、ポート、ホストとより多くのオプションが含まれているの下に来る

は(私が使用しているクライアントを同期 前)。

"mongodb": { 
    "host" : "127.0.0.1", 
    "port" : 27017, 
    "db_name":"amibackend", 
    "maxPoolSize" : 50, 
    "minPoolSize" : 25, 
    "maxIdleTimeMS" : 300000, 
    "maxLifeTimeMS" : 3600000, 
    "waitQueueMultiple" : 10, 
    "waitQueueTimeoutMS" : 10000, 
    "maintenanceFrequencyMS" : 2000, 
    "maintenanceInitialDelayMS" : 500 
    } 

=========================================== =====このプロジェクトの
依存性:(Vert.x)

<dependency> 
    <groupId>io.vertx</groupId> 
    <artifactId>vertx-core</artifactId> 
    <version>3.3.3</version> 
</dependency> 

<dependency> 
    <groupId>io.vertx</groupId> 
    <artifactId>vertx-web</artifactId> 
    <version>3.3.3</version> 
</dependency> 


<dependency> 
    <groupId>io.vertx</groupId> 
    <artifactId>vertx-mongo-client</artifactId> 
    <version>3.3.3</version> 
</dependency> 
+0

あなたはポストへのあなたの依存関係を追加することはできますか?これはjar互換性の問題のようです。具体的には、mongo asynドライバのバージョンが使用しているVert Clientと互換性があるかどうかを確認します。 – Veeram

+0

追加された依存関係@ Veeram – WARM

答えて

0

私はあなたがMongoDBのドライバのバージョンとの問題を得たと思います。 mongodbドライバをアップグレードすることをお勧めします。

current version of ErrorHandlingResultCallback.java

history version of ErrorHandlingResultCallback.java

+0

私はmongoドライバのバージョンを指定しませんでした。私はちょうど 'vert.x mongodbクライアント'を使用します@タン – WARM

+0

ありがとうございました。問題はmongoドライバであった。非同期mongoドライバと競合するmongoドライバを同期させます。 – WARM

関連する問題