Java mongodb(x86)在插入时停止服务

Java mongodb(x86)在插入时停止服务,java,mongodb,insert,windows-services,mongodb-java,Java,Mongodb,Insert,Windows Services,Mongodb Java,我有一个大的数组列表。我试图通过每次插入1000个项目来将所有列表插入mongodb。 但MongoDb服务在插入大约90万条记录后停止 我得到这个错误: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. Type: System.IO.IOException Stack: at System.Net.Socket

我有一个大的数组列表。我试图通过每次插入1000个项目来将所有列表插入mongodb。 但MongoDb服务在插入大约90万条记录后停止

我得到这个错误:

Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
Type: System.IO.IOException
Stack:    at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
   at MongoDB.Bson.IO.BsonBuffer.LoadFrom(Stream stream, Int32 count)
   at MongoDB.Bson.IO.BsonBuffer.LoadFrom(Stream stream)
   at MongoDB.Driver.Internal.MongoConnection.ReceiveMessage[TDocument](BsonBinaryReaderSettings readerSettings, IBsonSerializationOptions serializationOptions)
   at MongoDB.Driver.MongoCursorEnumerator`1.GetReply(MongoConnection connection, MongoRequestMessage message)
   at MongoDB.Driver.MongoCursorEnumerator`1.GetFirst()
   at MongoDB.Driver.MongoCursorEnumerator`1.MoveNext()
   at MongoDB.Driver.MongoDatabase.GetCollectionNames()
   at MangoUI.MCollections.GetAll(String db)
   at MangoUI.MCollections.Get(String db)
   at MangoUI.ComNavTree.ExpandMe(MTreeNode expand)
   at MangoUI.ComNavTree.tree_BeforeExpand(Object sender, TreeViewCancelEventArgs e)


An existing connection was forcibly closed by the remote host
Type: System.Net.Sockets.SocketException
Stack:    at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
   at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
我的代码是这样的。我该怎么办

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package yaz;

import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
import com.mongodb.MongoClient;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import mudi.BOB;
import mudi.BOBM;
import mudi.Employee;
import tmsf.TMSF;

/**
 *
 * @author mkilic
 */
public class MongoDbInsert {

    static List<BOBM> bobmList = new ArrayList<BOBM>();
    static Mongo mongo; 
    static DB db;
    static DBCollection employeeCollection;

    public static void main(String[] args) throws UnknownHostException {

        mongo = new Mongo("localhost", 27017);
        db = mongo.getDB("TestDB");
         employeeCollection  = db.getCollection("tblBOB");

        for (int j = 0; j < 13000; j++) {
            bobmList = new ArrayList<BOBM>();
            for (int i = 0; i < 1000; i++) {
                BOBM bobm = new BOBM();
                bobm.setB01("aaaaaaaaaaaaa1");
                bobm.setB02("aaaaaaaaaaaaa2");
                bobm.setB03("aaaaaaaaaaaaa3");
                bobm.setB04("aaaaaaaaaaaaa4");
                bobm.setB05("aaaaaaaaaaaaa5");
                bobm.setB06("aaaaaaaaaaaaa6");
                bobm.setB07("aaaaaaaaaaaaa7");
                bobm.setB08("aaaaaaaaaaaaa8");
                bobm.setB09("aaaaaaaaaaaaa9");
                bobm.setB10("aaaaaaaaaaaaa10");
                bobm.setB11("aaaaaaaaaaaaa11");
                bobm.setB12("aaaaaaaaaaaaa12");
                bobm.setB13("aaaaaaaaaaaaa13");
                bobm.setB14("aaaaaaaaaaaaa14");
                bobm.setB15("aaaaaaaaaaaaa15");
                bobm.setB16("aaaaaaaaaaaaa16");
                bobm.setB17("aaaaaaaaaaaaa17");
                bobm.setB18("aaaaaaaaaaaaa18");
                bobm.setB19("aaaaaaaaaaaaa19");
                bobm.setB20("aaaaaaaaaaaaa20");
                bobm.setB21("aaaaaaaaaaaaa21");
                bobm.setB22("aaaaaaaaaaaaa22");
                bobm.setB23("aaaaaaaaaaaaa23");
                bobm.setB24("aaaaaaaaaaaaa24");
                bobmList.add(bobm);
                bobm = null;
            }
            insertMon(bobmList);
            bobmList = null;
        }
   mongo.close();
    }

    public static void insertMon(List<BOBM> list) throws UnknownHostException {

        for (Iterator<BOBM> it = list.iterator(); it.hasNext();) {
            BOBM bobm = it.next();
            employeeCollection.insert(bobm);

        }
    }
}
/*
*要更改此许可证标题,请在“项目属性”中选择“许可证标题”。
*要更改此模板文件,请选择工具|模板
*然后在编辑器中打开模板。
*/
包亚兹;
导入com.mongodb.BasicDBObject;
导入com.mongodb.DB;
导入com.mongodb.DBCollection;
导入com.mongodb.Mongo;
导入com.mongodb.MongoClient;
导入java.net.UnknownHostException;
导入java.util.ArrayList;
导入java.util.Iterator;
导入java.util.List;
输入mudi.BOB;
进口mudi.BOBM;
输入mudi.员工;
导入tmsf.tmsf;
/**
*
*@author mkilic
*/
公共类MongoDbInsert{
静态列表bobmList=newarraylist();
静态Mongo-Mongo;
静态分贝;
静态DBCollection employeeCollection;
公共静态void main(字符串[]args)引发UnknownHostException{
mongo=新的mongo(“本地主机”,27017);
db=mongo.getDB(“TestDB”);
employeeCollection=db.getCollection(“tblBOB”);
对于(int j=0;j<13000;j++){
bobmList=newarraylist();
对于(int i=0;i<1000;i++){
BOBM BOBM=新BOBM();
bobm.setB01(“AAAAA1”);
bobm.setB02(“AAAAA 2”);
bobm.setB03(“AAAAAA3”);
bobm.setB04(“AAAAA4”);
bobm.setB05(“AAAAA 5”);
bobm.setB06(“AAAAA6”);
bobm.setB07(“AAAAAA7”);
bobm.setB08(“AAAAA8”);
bobm.setB09(“AAAAA9”);
bobm.setB10(“AAAAAA10”);
bobm.挫折11(“AAAAAA11”);
bobm.setB12(“AAAAA12”);
bobm.setB13(“AAAAAA13”);
bobm.14(“AAAAAA14”);
bobm.setB15(“AAAAAA15”);
bobm.16(“AAAAAA16”);
bobm.17(“AAAAAA17”);
bobm.setB18(“AAAAAA18”);
bobm.19(“AAAAAA19”);
bobm.20(“AAAAAA20”);
bobm.setB21(“AAAAAA21”);
bobm.setB22(“AAAAAA22”);
bobm.setB23(“AAAAAA23”);
bobm.24(“AAAAAA24”);
bobmList.add(bobm);
bobm=null;
}
insertMon(bobmList);
bobmList=null;
}
mongo.close();
}
publicstaticvoidinsertmon(List)抛出UnknownHostException{
for(Iterator it=list.Iterator();it.hasNext();){
BOBM BOBM=it.next();
employeeCollection.insert(bobm);
}
}
}

是否有提供更多调试信息的Mongo服务器日志?日志文件为空,因为MongoDb服务已停止。您是否仍看到此错误?我希望MongoDB日志中会有更多信息。您可以尝试在MongoDB配置中设置该选项,以便在进程重新启动时不会覆盖日志文件。