【问题标题】:Connect to Openshift Mongodb remotely with Java, timeout error用Java远程连接Openshift Mongodb,超时错误
【发布时间】:2016-01-13 07:52:18
【问题描述】:

我已经用 rhc 打开了端口转发,它显示 mongodb 127.0.0.1:27017 => xxx.x.xxx.x:27017 文档在这里port-forward

但我仍然没有运气连接到那个 mongodb 墨盒。我已经尝试过 mongo shell 3.0 和 java MongoClient。 mongo shell 返回错误 10061 java返回com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting for a server that matches AnyServerSelector{}

我还能尝试远程连接到 openshift mongodb 什么?

我的代码,我已经在本地 mongodb 上测试过,效果很好

    String mongoUri = "mongodb://admin:password@xxx.x.xxx.x:27017/";                        
    MongoClient mongoClient;
    try {

        mongoClient = new MongoClient(new MongoClientURI(mongoUri));

        DB db = mongoClient.getDB("mycoll");

        DBCollection cc = db.getCollection("DBObject");
        cc.insert(dbo);
    }

【问题讨论】:

    标签: java mongodb openshift


    【解决方案1】:

    启用端口转发后,您应该在本地使用以下连接字符串:

    String mongoUri = "mongodb://admin:password@127.0.0.1:27017/";
    

    由于连接是通过 ssh 隧道转发的,因此您需要使用本地端口。有关更多信息,请参阅此答案:OpenShift: How to connect to postgresql from my PC

    【讨论】:

    • 本地连接正常,但我想要的是远程连接。
    • 您将远程连接,当您进行端口转发时显示的 ip/port 将被转发到远程服务器。
    • 这就是我的想法,但是当我实际运行我的代码时,它给了我 errno 10061
    猜你喜欢
    • 2018-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 2019-11-01
    • 1970-01-01
    相关资源
    最近更新 更多