java连接mongodb超时
二_叔 2017-09-26 06:00:42 这个问题困扰我一天了,mongodb已经连接了就是不行插入不进去数据,一执行插入的时候就会报连接超时
MongoClient mClient = new MongoClient("dds-2ze4c67d85f827b41.mongodb.rds.aliyuncs.com",3717);
MongoDatabase db = mClient.getDatabase("root"); //数据库用户名
System.out.println(db.getName());
System.out.println("1");
//得到集合,这里取"text"
MongoCollection<Document> doc = db.getCollection("test"); //相当于表一个集合
System.out.println(doc.getDocumentClass());
System.out.println("2");
//插入一个document
doc.insertOne(new Document("name","张三")); //执行到这里就失败
System.out.println("3");
错误log日志
九月 26, 2017 5:55:28 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: Cluster created with settings {hosts=[dds-2ze4c67d85f827b41.mongodb.rds.aliyuncs.com:3717], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
root
1
class org.bson.Document
2
九月 26, 2017 5:55:29 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: No server chosen by WritableServerSelector from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, serverDescriptions=[ServerDescription{address=dds-2ze4c67d85f827b41.mongodb.rds.aliyuncs.com:3717, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out
九月 26, 2017 5:55:49 下午 com.mongodb.diagnostics.logging.JULLogger log
信息: Exception in monitor thread while connecting to server dds-2ze4c67d85f827b41.mongodb.rds.aliyuncs.com:3717
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63)
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115)
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:116)
at java.lang.Thread.run(Unknown Source)
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:50)
at com.mongodb.connection.SocketStream.open(SocketStream.java:58)
... 3 more
Exception in thread "main" com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches WritableServerSelector. Client view of cluster state is {type=UNKNOWN, servers=[{address=dds-2ze4c67d85f827b41.mongodb.rds.aliyuncs.com:3717, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.SocketTimeoutException: connect timed out}}]
at com.mongodb.connection.BaseCluster.createTimeoutException(BaseCluster.java:375)
at com.mongodb.connection.BaseCluster.selectServer(BaseCluster.java:104)
at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:75)
at com.mongodb.binding.ClusterBinding$ClusterBindingConnectionSource.<init>(ClusterBinding.java:71)
at com.mongodb.binding.ClusterBinding.getWriteConnectionSource(ClusterBinding.java:68)
at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:221)
at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:169)
at com.mongodb.operation.MixedBulkWriteOperation.execute(MixedBulkWriteOperation.java:75)
at com.mongodb.Mongo.execute(Mongo.java:827)
at com.mongodb.Mongo$2.execute(Mongo.java:810)
at com.mongodb.MongoCollectionImpl.executeSingleWriteRequest(MongoCollectionImpl.java:515)
at com.mongodb.MongoCollectionImpl.insertOne(MongoCollectionImpl.java:306)
at com.mongodb.MongoCollectionImpl.insertOne(MongoCollectionImpl.java:297)
at com.yingyan.jdbc.mongodb.main(mongodb.java:99)