2017-06-01 65 views
1

我正在使用mongodb的openshift 3。我用mongodb使用Spring数据。 但是我无法连接到Openshift上的mongodb。 我使用这样的代码:OpenShift 3 Java Mongodb

MongoCredential credential = MongoCredential.createMongoCRCredential(USER, DB_NAME, PASSWORD.toCharArray()); 
ServerAddress address = new ServerAddress("localhost", 27017); 
List<MongoCredential> list = Collections.singletonList(credential); 
return new MongoClient(address, list); 

但我得到

>com.mongodb.MongoSocketOpenException: Exception opening socket 
    at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongodb-driver-core-3.4.2.jar!/:na] 
    at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongodb-driver-core-3.4.2.jar!/:na] 
    at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongodb-driver-core-3.4.2.jar!/:na] 
    at java.lang.Thread.run(Thread.java:748) [na:1.8.0_131] 
Caused by: java.net.ConnectException: Connection refused (Connection refused) 
    at java.net.PlainSocketImpl.socketConnect(Native Method) ~[na:1.8.0_131] 
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_131] 
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_131] 
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_131] 
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_131] 
    at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_131] 
    at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) ~[mongodb-driver-core-3.4.2.jar!/:na] 
    at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongodb-driver-core-3.4.2.jar!/:na] 
    ... 3 common frames omitted 
+0

这不太可能是您需要连接到的'localhost'。您需要使用mongodb实例服务的名称。因此,如果您在部署时将其称为'mongodb',请连接到'mongodb'而不是'localhost'。 –

回答

0

如果不与本地的MongoDB运行自定义图像,而是创建了从应用模板(永久)的MongoDB请查看“应用程序”和“服务”以了解有关主机名和IP的更多详细信息。