Author: hansbak
Date: Thu Mar 25 02:28:25 2010
New Revision: 927256
URL:
http://svn.apache.org/viewvc?rev=927256&view=revLog:
when exporting all data, an error message in the log advices to put the the function in a transaction. also added extra commits to try to solve the permgen problem. it is better now, but not solved completely
Modified:
ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/WebToolsServices.java
Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/WebToolsServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/WebToolsServices.java?rev=927256&r1=927255&r2=927256&view=diff==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/WebToolsServices.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/WebToolsServices.java Thu Mar 25 02:28:25 2010
@@ -77,6 +77,7 @@ import org.ofbiz.entity.util.EntityDataL
import org.ofbiz.entity.util.EntityListIterator;
import org.ofbiz.entity.util.EntitySaxReader;
import org.ofbiz.entityext.EntityGroupUtil;
+import org.ofbiz.entity.transaction.TransactionUtil;
import org.ofbiz.security.Security;
import org.ofbiz.service.DispatchContext;
import org.ofbiz.service.LocalDispatcher;
@@ -508,6 +509,7 @@ public class WebToolsServices {
continue;
}
+ TransactionUtil.begin();
// some databases don't support cursors, or other problems may happen, so if there is an error here log it and move on to get as much as possible
try {
values = delegator.find(curEntityName, null, null, null, me.getPkFieldNames(), null);
@@ -527,6 +529,10 @@ public class WebToolsServices {
do {
value.writeXmlText(writer, "");
numberWritten++;
+ if (numberWritten % 500 == 0) {
+ TransactionUtil.commit();
+ TransactionUtil.begin();
+ }
} while ((value = (GenericValue) values.next()) != null);
writer.println("</entity-engine-xml>");
writer.close();
@@ -535,6 +541,7 @@ public class WebToolsServices {
results.add("["+fileNumber +"] [---] " + curEntityName + " has no records, not writing file");
}
values.close();
+ TransactionUtil.commit();
} catch (Exception ex) {
if (values != null) {
try {