Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB使用Java拒绝连接+;日食_Java_Eclipse_Mongodb - Fatal编程技术网

MongoDB使用Java拒绝连接+;日食

MongoDB使用Java拒绝连接+;日食,java,eclipse,mongodb,Java,Eclipse,Mongodb,当我运行以下简单代码时,通常会出现连接被拒绝错误。。。但20次中有1次是随机的。然后继续重复工作2-3分钟,然后再次拒绝连接。我找不到一个模式。我看过其他被拒绝连接的线程,但它们使用的技术不同,这可能会或可能不会使情况复杂化(不幸的是,甚至不是每个线程都得到解决) 我对Mongo完全陌生,并遵循以下指南:。 我的目标是有一个稳定的连接,这样我可以实验/学习数据库。 非常感谢您对此事的任何帮助!请记住,我对这项技术完全陌生,还不知道如何应对 我正在使用JDK1.7.025和Eclipse。我已经将

当我运行以下简单代码时,通常会出现连接被拒绝错误。。。但20次中有1次是随机的。然后继续重复工作2-3分钟,然后再次拒绝连接。我找不到一个模式。我看过其他被拒绝连接的线程,但它们使用的技术不同,这可能会或可能不会使情况复杂化(不幸的是,甚至不是每个线程都得到解决)

我对Mongo完全陌生,并遵循以下指南:。 我的目标是有一个稳定的连接,这样我可以实验/学习数据库。 非常感谢您对此事的任何帮助!请记住,我对这项技术完全陌生,还不知道如何应对

我正在使用JDK1.7.025和Eclipse。我已经将mongo-driver-2.11.3.jar添加到项目的构建路径中。下面是我的简单代码,直接来自我列出的站点上的示例

package database;

import java.util.Set;
import com.mongodb.MongoClient;
import com.mongodb.MongoException;
import com.mongodb.WriteConcern;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.ServerAddress;

public class MongoPortal {

    /*static final String domain = "localhost";  
    static final int port = 27107;
    static final String database = "test";*/

    public boolean insert(){

        try {
            MongoClient mongoClient = new MongoClient( "localhost" , 27107 );

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

            // Get and print all the collections
            Set<String> colls = db.getCollectionNames();
            for (String s : colls)
                System.out.println(s);

            mongoClient.close();
        }
        catch (Exception e){
            e.printStackTrace();
            return false;
        }

        return true;
    }
}
在bash中键入mongo时,得到的显示为:

@debian:~$ mongo
MongoDB shell version: 2.4.6
connecting to: test
> 

虽然您可以使用mongo命令进行连接,但可以肯定的是,mongodb服务器在端口27017上侦听(在没有参数的情况下,它会尝试连接到端口27017)。这意味着您必须在java代码中更改这一行:

MongoClient mongoClient = new MongoClient( "localhost" , 27107 );
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
关于这一行:

MongoClient mongoClient = new MongoClient( "localhost" , 27107 );
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

我不确定如果没有服务器在主机上侦听,驱动程序返回拒绝连接的行为:端口配置是好的。从我的观点来看,至少有一点误导。

虽然可以使用mongo命令进行连接,但可以肯定的是mongodb服务器在端口27017上侦听(在没有参数的情况下,它会尝试连接到该端口)。这意味着您必须在java代码中更改这一行:

MongoClient mongoClient = new MongoClient( "localhost" , 27107 );
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
关于这一行:

MongoClient mongoClient = new MongoClient( "localhost" , 27107 );
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );

我不确定如果没有服务器在主机上侦听,驱动程序返回拒绝连接的行为:端口配置是好的。从我的观点来看,至少有一点误导性。

我通过给mongod一个--dbpath并将我的整个数据库迁移到那里,解决了这个错误。。 现在,每次启动服务器(mongod)时,我都会给出--dbpath。
早些时候,我没有使用--dbpath..

我通过给mongod一个--dbpath并将我的整个数据库迁移到那里,解决了这个错误。。 现在,每次启动服务器(mongod)时,我都会给出--dbpath。
早些时候,我没有使用--dbpath..

在集群上新安装mongodb时遇到了相同的错误。 当我在安装了localhost的服务器上运行java程序时,代码工作正常

要在群集中外部运行代码,出现连接被拒绝错误

问题是:

安装mongodb的端口仅限于本地主机。
我们更正并重新启动了服务,它工作得非常好

在我们的群集上新安装mongodb时,出现了相同的错误。 当我在安装了localhost的服务器上运行java程序时,代码工作正常

要在群集中外部运行代码,出现连接被拒绝错误

问题是:

安装mongodb的端口仅限于本地主机。
我们更正并重新启动了服务,它工作得非常好

你也试过和mongo shell联系吗?如果是,那么这是否具有相同的行为?您是否100%确定服务器正在后台运行,尽管它有点奇怪,但Java驱动程序通过连接拒绝在某些情况下没有服务器侦听。检查这个问题:我似乎能够连接。我键入mongo并显示已登录到shell。我可以发布命令并四处导航。以下是初始shell显示,后面是输入文本的字段:mongodbshell版本:2.4.6连接到:test然后问题是我假设端口号。默认情况下,它在27017上侦听,但在您尝试在27107上连接的java代码中。那么端口号正确吗?您是否也尝试连接mongo shell?如果是,那么这是否具有相同的行为?您是否100%确定服务器正在后台运行,尽管它有点奇怪,但Java驱动程序通过连接拒绝在某些情况下没有服务器侦听。检查这个问题:我似乎能够连接。我键入mongo并显示已登录到shell。我可以发布命令并四处导航。以下是初始shell显示,后面是输入文本的字段:mongodbshell版本:2.4.6连接到:test然后问题是我假设端口号。默认情况下,它在27017上侦听,但在您尝试在27107上连接的java代码中。那么端口号正确吗?您100%正确。和Mongo玩了几个小时,问题是10 01。“有时有效,有时无效”在复制和粘贴信息时出现问题。复制错误粘贴正确,复制错误粘贴错误…:)谢谢你的第二双眼睛,阿提什!在我们的职业中,真正需要解决的问题总是这样我数不清我做过多少次同样的事(几百次)。我很高兴这能帮上忙!你完全正确。和Mongo玩了几个小时,问题是10 01。“有时有效,有时无效”在复制和粘贴信息时出现问题。复制错误粘贴正确,复制错误粘贴错误…:)谢谢你的第二双眼睛,阿提什!在我们的职业中,真正需要解决的问题总是这样我数不清我做过多少次同样的事(几百次)。我很高兴这能帮上忙!