2017-06-01 67 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的更多詳細信息。