Java mongodb(x86)在插入时停止服务
我有一个大的数组列表。我试图通过每次插入1000个项目来将所有列表插入mongodb。 但MongoDb服务在插入大约90万条记录后停止 我得到这个错误: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
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配置中设置该选项,以便在进程重新启动时不会覆盖日志文件。