【问题标题】:OpenShift 3 Java MongodbOpenShift 3 Java MongoDB
【发布时间】:2017-11-02 08:09:47
【问题描述】:

我正在将 openshift 3 与 mongodb 一起使用。我正在将 Spring 数据与 mongodb 一起使用。 但我无法在 Openshift 上连接到 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

【问题讨论】:

  • 不太可能是您需要连接的“本地主机”。您需要使用 mongodb 实例服务的名称。因此,如果您在部署时将其称为“mongodb”,请连接到“mongodb”而不是“localhost”。

标签: java mongodb spring-data openshift openshift-3


【解决方案1】:

如果您没有使用本地 mongodb 运行自定义映像,而是从应用程序模板创建(持久)mongodb,请查看“应用程序”和“服务”下的主机名和 IP 的更多详细信息。

【讨论】:

    猜你喜欢
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多