You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2014/01/17 12:05:51 UTC

svn commit: r1559070 - in /sling/site/trunk/content: documentation/bundles/scheduler-service-commons-scheduler.mdtext site/.htaccess

Author: cziegeler
Date: Fri Jan 17 11:05:50 2014
New Revision: 1559070

URL: http://svn.apache.org/r1559070
Log:
Update scheduler documentation

Modified:
    sling/site/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.mdtext
    sling/site/trunk/content/site/.htaccess

Modified: sling/site/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.mdtext
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.mdtext?rev=1559070&r1=1559069&r2=1559070&view=diff
==============================================================================
--- sling/site/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.mdtext (original)
+++ sling/site/trunk/content/documentation/bundles/scheduler-service-commons-scheduler.mdtext Fri Jan 17 11:05:50 2014
@@ -1,9 +1,74 @@
-translation_pending: true
 Title: Scheduler Service (commons scheduler)
 
-The scheduler is a service for scheduling other services/jobs (it uses the open source Quartz library). The scheduler can be used in two ways, by registering the job through the scheduler API and by leveraging the whiteboard pattern that is supported by the scheduler.
+The scheduler is a service for scheduling other services/jobs (it uses the open source Quartz library). The scheduler can be used in two ways, by registering the job through the scheduler API and by leveraging the whiteboard pattern that is supported by the scheduler. In most cases the whiteboard pattern is preferred
+
+## Examples of jobs that are scheduled by leveraging the whiteboard pattern 
+
+The following examples show you how to define and schedule a job by leveraging the whiteboard pattern.
+
+### Scheduling with a cron expression 
+
+The following job is executed every minute by setting *scheduler.expression* to the cron expression *"0 * * * * ?"*:
+
+
+    package sling.docu.examples;
+    
+    import org.slf4j.Logger;
+    import org.slf4j.LoggerFactory;
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Service;
+    import org.apache.felix.scr.annotations.Property;
+
+    @Component
+    @Service(value = Runnable.class)
+    @Property( name = "scheduler.expression", value = "0 * * * * ?")
+    public class ScheduledCronJob implements Runnable {
+    
+    	/** Default log. */
+        protected final Logger log = LoggerFactory.getLogger(this.getClass());
+        
+        public void run() {
+        	log.info("Executing a cron job (job#1) through the whiteboard pattern");
+        }
+    //
+    }
+
+
+### Scheduling at periodic times 
+
+The following job is executed every ten seconds by setting *scheduler.period* to *10*:
 
-## The Scheduler API
+
+    package sling.docu.examples;
+    
+    import org.slf4j.Logger;
+    import org.slf4j.LoggerFactory;
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Service;
+    import org.apache.felix.scr.annotations.Property;
+    
+    @Component
+    @Service(value = Runnable.class)
+    @Property( name = "scheduler.period", longValue = 10)
+    public class ScheduledPeriodicJob implements Runnable {
+    
+    	/** Default log. */
+        protected final Logger log = LoggerFactory.getLogger(this.getClass());
+        
+        public void run() {
+        	log.info("Executing a perodic job (job#2) through the whiteboard pattern");
+        }
+    //
+    }
+
+
+### Preventing concurrent execution
+
+By default, jobs can be concurrently executed. To prevent this, set the *scheduler.concurrent* property to *false*:
+
+
+    @Property(name="scheduler.concurrent", boolValue=false)
+    ## The Scheduler API
 
 The scheduler has methods to execute jobs periodically, based on a cron expression or at a given time. For more details please refer to the [javadocs](http://sling.apache.org/apidocs/sling6/org/apache/sling/commons/scheduler/Scheduler.html).
 
@@ -72,20 +137,21 @@ The code implementing a service that sim
     import org.osgi.service.component.ComponentContext;
     import org.slf4j.Logger;
     import org.slf4j.LoggerFactory;
+    import org.apache.felix.scr.annotations.Component;
+    import org.apache.felix.scr.annotations.Reference;
     
     /**
      *  This service executes scheduled jobs
      *  
-     *	@scr.component immediate="true" metatype="false"
-     *
      */
+    @Component
     public class HelloWorldScheduledService {
     	
         /** Default log. */
         protected final Logger log = LoggerFactory.getLogger(this.getClass());
         
-        /** The scheduler for rescheduling jobs.
-         * @scr.reference */
+        /** The scheduler for rescheduling jobs. */
+        @Reference
         private Scheduler scheduler;
         
     
@@ -146,68 +212,5 @@ The code implementing a service that sim
     }
 
 
-## Examples of jobs that are scheduled by leveraging the whiteboard pattern 
-
-The following examples show you how to define and schedule a job by leveraging the whiteboard pattern.
-
-### Scheduling with a cron expression 
-
-The following job is executed every minute by setting *scheduler.expression* to the cron expression *"0 * * * * ?"*:
-
-
-    package sling.docu.examples;
-    
-    import org.slf4j.Logger;
-    import org.slf4j.LoggerFactory;
-    
-    /**
-     * @scr.component
-     * @scr.service interface="java.lang.Runnable"
-     * @scr.property name="scheduler.expression" value="0 * * * * ?"
-     */
-    public class ScheduledCronJob implements Runnable {
-    
-    	/** Default log. */
-        protected final Logger log = LoggerFactory.getLogger(this.getClass());
-        
-        public void run() {
-        	log.info("Executing a cron job (job#1) through the whiteboard pattern");
-        }
-    //
-    }
-
-
-### Scheduling at periodic times 
-
-The following job is executed every ten seconds by setting *scheduler.period* to *10*:
-
-
-    package sling.docu.examples;
-    
-    import org.slf4j.Logger;
-    import org.slf4j.LoggerFactory;
-    
-    /**
-     * @scr.component
-     * @scr.service interface="java.lang.Runnable"
-     * @scr.property name="scheduler.period" value="10" type="Long"
-     */
-    public class ScheduledPeriodicJob implements Runnable {
-    
-    	/** Default log. */
-        protected final Logger log = LoggerFactory.getLogger(this.getClass());
-        
-        public void run() {
-        	log.info("Executing a perodic job (job#2) through the whiteboard pattern");
-        }
-    //
-    }
-
-
-### Preventing concurrent execution
-
-By default, jobs can be concurrently executed. To prevent this, set the *scheduler.concurrent* property to *false*:
-
 
-    @scr.property name="scheduler.concurrent" value="false" type="Boolean"
 

Modified: sling/site/trunk/content/site/.htaccess
URL: http://svn.apache.org/viewvc/sling/site/trunk/content/site/.htaccess?rev=1559070&r1=1559069&r2=1559070&view=diff
==============================================================================
--- sling/site/trunk/content/site/.htaccess (original)
+++ sling/site/trunk/content/site/.htaccess Fri Jan 17 11:05:50 2014
@@ -73,3 +73,4 @@ Redirect Permanent /site/links.html /lin
 Redirect Permanent /site/contributing.html /contributing.html
 Redirect Permanent /site/project-information.html /project-information.html
 Redirect Permanent /site/release-management.html /documentation/development/release-management.html
+Redirect Permanent /site/scheduler-service-commons-scheduler.htm /documentation/bundles/scheduler-service-commons-scheduler.html