View view = database.getView("SomeView");
DocumentCollection docs = database.search(view.getSelectionFormula());
Document doc;
int n = 0;
while((doc=docs.getNthDocument(++n))!=null){
//Do stuff with document
doc.save(true,false);
doc.recycle();
}
and voila you are rolling through your (massive) amount of documents, no warnings coming from the server about using too much memory.
Friday, January 21, 2011
Lesson #1: DocumentCollections all the time
An important lesson I have recently learned is that if you are processing a lot of documents with a java agent, do not use a View or ViewNavigator. For some reason which I do not understand, getting all of the documents in a view by iterating through a ViewNavigator requires a large amount of memory or there is some sort of leak.
Therefore, just do:
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment