svn commit: r927256 - /ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/WebToolsServices.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r927256 - /ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/WebToolsServices.java

hansbak-2
Author: hansbak
Date: Thu Mar 25 02:28:25 2010
New Revision: 927256

URL: http://svn.apache.org/viewvc?rev=927256&view=rev
Log:
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 {