Author: cziegeler
Date: Fri Jul 15 08:34:15 2016
New Revision: 1752799

URL: http://svn.apache.org/viewvc?rev=1752799&view=rev
Log:
SLING-5831 : Support different thread pools for scheduled tasks

Modified:
    
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
    
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/SchedulerProxy.java

Modified: 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java?rev=1752799&r1=1752798&r2=1752799&view=diff
==============================================================================
--- 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
 (original)
+++ 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/QuartzScheduler.java
 Fri Jul 15 08:34:15 2016
@@ -118,7 +118,7 @@ public class QuartzScheduler implements
         ctx.addBundleListener(this);
 
         // start scheduler
-        this.scheduler = new SchedulerProxy(this.threadPoolManager, poolName);
+        this.scheduler = new SchedulerProxy(this.threadPoolManager, 
getThreadPoolName(poolName));
     }
 
     /**
@@ -136,6 +136,13 @@ public class QuartzScheduler implements
         }
     }
 
+    private String getThreadPoolName(final String name) {
+        if ( name == null || name.trim().isEmpty() ) {
+            return ThreadPoolManager.DEFAULT_THREADPOOL_NAME;
+        }
+        return name.trim();
+    }
+
     private org.quartz.Scheduler getScheduler(final SchedulerProxy proxy) {
         if ( proxy != null ) {
             return proxy.getScheduler();

Modified: 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/SchedulerProxy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/SchedulerProxy.java?rev=1752799&r1=1752798&r2=1752799&view=diff
==============================================================================
--- 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/SchedulerProxy.java
 (original)
+++ 
sling/trunk/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/SchedulerProxy.java
 Fri Jul 15 08:34:15 2016
@@ -50,13 +50,16 @@ public class SchedulerProxy {
 
     public SchedulerProxy(final ThreadPoolManager manager,
             final String pName) throws SchedulerException {
-        this.poolName = pName == null ? 
ThreadPoolManager.DEFAULT_THREADPOOL_NAME : pName;
-
-        this.threadPoolManager = manager;
         // sanity null check
-        if ( this.threadPoolManager == null ) {
+        if ( manager == null ) {
             throw new SchedulerException("Thread pool manager missing");
         }
+        if ( pName == null ) {
+            throw new SchedulerException("Thread pool name missing");
+        }
+
+        this.threadPoolManager = manager;
+        this.poolName = pName;
 
         // create the pool
         this.threadPool = this.threadPoolManager.get(poolName);


Reply via email to