有没有人尝试将 MongoDB Atlas 数据库作为服务(https://www.mongodb.com)与 Vertx 一起使用?
我试图连接,但我不断收到以下错误:
INFO: Exception in monitor thread while connecting to server socie-shard-00-01-zeymc.mongodb.net:27017
com.mongodb.MongoSocketReadException: Prematurely reached end of stream
at com.mongodb.connection.AsynchronousSocketChannelStream$BasicCompletionHandler.completed(AsynchronousSocketChannelStream.java:215)
at com.mongodb.connection.AsynchronousSocketChannelStream$BasicCompletionHandler.completed(AsynchronousSocketChannelStream.java:201)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:126)
at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:281)
at sun.nio.ch.WindowsAsynchronousSocketChannelImpl$ReadTask.completed(WindowsAsynchronousSocketChannelImpl.java:579)
at sun.nio.ch.Iocp$EventHandlerTask.run(Iocp.java:397)
at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
我使用了以下内容:
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-mongo-client</artifactId>
<version>3.5.0</version>
</dependency>
比我尝试使用他们的 Java Mongo 驱动程序:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.6.0</version>
</dependency>
这行得通。只有这需要对我的所有查询进行大量重写。而且我不确定这是否是与 Vertx 结合使用的好驱动程序。
有谁知道如何解决上述错误,或者有谁知道使用 org.mongodb java 驱动程序是否安全。
提前谢谢了!
我的解决方案
感谢 Daniel,我设法让它与 vertx-mongo-client 一起工作!
我添加到我的 Json 配置中
config.put("ssl", true);
我在创建 MongoClient 之前添加了以下行。
System.setProperty("org.mongodb.async.type", "netty");