Author: dkuleshov
Date: 2011-06-03 02:17:06 -0400 (Fri, 03 Jun 2011)
New Revision: 4472
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupScheduler.java
Log:
EXOJCR-1354: added thread stopping methods to BackupManager stop method
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java 2011-06-02
14:24:29 UTC (rev 4471)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupManagerImpl.java 2011-06-03
06:17:06 UTC (rev 4472)
@@ -310,6 +310,8 @@
class WorkspaceBackupAutoStopper extends Thread
{
+ private boolean isToBeStopped = false;
+
WorkspaceBackupAutoStopper(ExoContainerContext ctx)
{
super("WorkspaceBackupAutoStopper" + (ctx == null ? "" :
" " + ctx.getName()));
@@ -321,7 +323,7 @@
@Override
public void run()
{
- while (true)
+ while (!isToBeStopped)
{
try
{
@@ -360,10 +362,16 @@
}
}
}
+
+ public void close()
+ {
+ isToBeStopped = true;
+ }
}
class RepositoryBackupAutoStopper extends Thread
{
+ boolean isToBeStopped = false;
RepositoryBackupAutoStopper(ExoContainerContext ctx)
{
@@ -376,7 +384,7 @@
@Override
public void run()
{
- while (true)
+ while (!isToBeStopped)
{
try
{
@@ -409,6 +417,11 @@
}
}
}
+
+ public void close()
+ {
+ isToBeStopped = true;
+ }
}
/**
@@ -921,6 +934,10 @@
*/
public void stop()
{
+ workspaceBackupStopper.close();
+ repositoryBackupStopper.close();
+ scheduler.cancelTimer();
+
// 1. stop current backup chains
// for (Iterator iterator = currentBackups.iterator(); iterator.hasNext();) {
// BackupChain bc = (BackupChain) iterator.next();
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupScheduler.java
===================================================================
---
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupScheduler.java 2011-06-02
14:24:29 UTC (rev 4471)
+++
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/backup/impl/BackupScheduler.java 2011-06-03
06:17:06 UTC (rev 4472)
@@ -1135,4 +1135,12 @@
return false;
}
+
+ /**
+ * Simple method to release the thread used by timer used in scheduler
+ */
+ public void cancelTimer()
+ {
+ timer.cancel();
+ }
}
Show replies by date