[exo-jcr-commits] exo-jcr SVN: r4212 - in jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl: rdbms and 1 other directory.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Apr 6 05:07:57 EDT 2011


Author: tolusha
Date: 2011-04-06 05:07:57 -0400 (Wed, 06 Apr 2011)
New Revision: 4212

Modified:
   jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java
   jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java
   jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java
Log:
EXOJCR-1291:  Components should be resumed in reverse order

Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java	2011-04-06 08:07:53 UTC (rev 4211)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingRepositorySameConfigRestore.java	2011-04-06 09:07:57 UTC (rev 4212)
@@ -39,6 +39,7 @@
 import java.security.PrivilegedExceptionAction;
 import java.sql.Connection;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -116,7 +117,7 @@
             for (Suspendable component : suspendableComponents)
             {
                component.suspend();
-               resumeComponents.add(component);
+               resumeComponents.add(0, component); // ensure that first component will be resumed as last
             }
          }
 
@@ -160,16 +161,19 @@
          }
 
          // resume components
-         for (int i = 0; i < resumeComponents.size(); i++)
+         Iterator<Suspendable> iter = resumeComponents.iterator();
+         while (iter.hasNext())
          {
             try
             {
-               resumeComponents.remove(i).resume();
+               iter.next().resume();
             }
             catch (ResumeException e)
             {
                log.error("Can't resume component", e);
             }
+
+            iter.remove();
          }
 
          // incremental restore

Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java	2011-04-06 08:07:53 UTC (rev 4211)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/JobExistingWorkspaceSameConfigRestore.java	2011-04-06 09:07:57 UTC (rev 4212)
@@ -35,6 +35,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 /**
@@ -83,7 +84,7 @@
          for (Suspendable component : suspendableComponents)
          {
             component.suspend();
-            resumeComponents.add(component);
+            resumeComponents.add(0, component); // ensure that first component will be resumed as last
          }
 
          // get all restorers
@@ -115,16 +116,19 @@
          }
 
          // resume components
-         for (int i = 0; i < resumeComponents.size(); i++)
+         Iterator<Suspendable> iter = resumeComponents.iterator();
+         while (iter.hasNext())
          {
             try
             {
-               resumeComponents.remove(i).resume();
+               iter.next().resume();
             }
             catch (ResumeException e)
             {
                log.error("Can't resume component", e);
             }
+
+            iter.remove();
          }
 
          // incremental restore

Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java	2011-04-06 08:07:53 UTC (rev 4211)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/rdbms/FullBackupJob.java	2011-04-06 09:07:57 UTC (rev 4212)
@@ -130,7 +130,7 @@
          for (Suspendable component : suspendableComponents)
          {
             component.suspend();
-            resumeComponents.add(component);
+            resumeComponents.add(0, component); // ensure that first component will be resumed as last 
          }
 
          List<Backupable> backupableComponents =



More information about the exo-jcr-commits mailing list