[exo-jcr-commits] exo-jcr SVN: r4398 - in kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler: impl and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Thu May 19 13:04:04 EDT 2011
Author: nfilotto
Date: 2011-05-19 13:04:04 -0400 (Thu, 19 May 2011)
New Revision: 4398
Modified:
kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/JobSchedulerService.java
kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/JobSchedulerServiceImpl.java
Log:
EXOJCR-1355: Allow to suspend and resume the JobSchedulerService thanks to JMX and/or Rest
Modified: kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/JobSchedulerService.java
===================================================================
--- kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/JobSchedulerService.java 2011-05-19 12:05:52 UTC (rev 4397)
+++ kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/JobSchedulerService.java 2011-05-19 17:04:04 UTC (rev 4398)
@@ -19,6 +19,10 @@
package org.exoplatform.services.scheduler;
import org.exoplatform.container.component.ComponentPlugin;
+import org.exoplatform.management.annotations.Managed;
+import org.exoplatform.management.jmx.annotations.NameTemplate;
+import org.exoplatform.management.jmx.annotations.Property;
+import org.exoplatform.management.rest.annotations.RESTEndpoint;
import org.quartz.JobDataMap;
import org.quartz.JobDetail;
import org.quartz.JobListener;
@@ -32,6 +36,9 @@
* Created by The eXo Platform SAS Author : Hoa Pham hoapham at exoplatform.com Oct
* 5, 2005
*/
+ at Managed
+ at NameTemplate(@Property(key = "service", value = "JobSchedulerService"))
+ at RESTEndpoint(path = "JobSchedulerService")
public interface JobSchedulerService
{
public void addJob(JobInfo jinfo, Date date) throws Exception;
@@ -101,4 +108,16 @@
public Date rescheduleJob(String triggerName, String groupName, Trigger newTrigger) throws Exception;
public JobDetail getJob(JobInfo jobInfo) throws Exception;
+
+ /**
+ * Suspends all the registered jobs
+ * @return <code>true</code> if the jobs could be suspended, <code>false</code> otherwise
+ */
+ public boolean suspend();
+
+ /**
+ * Resumes all the registered jobs
+ * @return <code>true</code> if the jobs could be resumed, <code>false</code> otherwise
+ */
+ public boolean resume();
}
Modified: kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/JobSchedulerServiceImpl.java
===================================================================
--- kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/JobSchedulerServiceImpl.java 2011-05-19 12:05:52 UTC (rev 4397)
+++ kernel/trunk/exo.kernel.component.common/src/main/java/org/exoplatform/services/scheduler/impl/JobSchedulerServiceImpl.java 2011-05-19 17:04:04 UTC (rev 4398)
@@ -20,6 +20,8 @@
import org.exoplatform.container.component.ComponentPlugin;
import org.exoplatform.container.xml.PortalContainerInfo;
+import org.exoplatform.management.annotations.Managed;
+import org.exoplatform.management.annotations.ManagedDescription;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
import org.exoplatform.services.scheduler.CronJob;
@@ -394,6 +396,38 @@
return scheduler_.rescheduleJob(triggerName, groupName, newTrigger);
}
+ @Managed
+ @ManagedDescription("Suspend all the existing jobs")
+ public boolean suspend()
+ {
+ try
+ {
+ scheduler_.standby();
+ return true;
+ }
+ catch (SchedulerException e)
+ {
+ log.error("Could not suspend the scheduler", e);
+ }
+ return false;
+ }
+
+ @Managed
+ @ManagedDescription("Resume all the existing jobs")
+ public boolean resume()
+ {
+ try
+ {
+ scheduler_.start();
+ return true;
+ }
+ catch (SchedulerException e)
+ {
+ log.error("Could not resume the scheduler", e);
+ }
+ return false;
+ }
+
public void start()
{
try
More information about the exo-jcr-commits
mailing list