Author: cziegeler
Date: Thu Oct 16 15:57:47 2014
New Revision: 1632365

URL: http://svn.apache.org/r1632365
Log:
SLING-4048 : Avoid keeping jobs in memory.  (WiP)

Modified:
    
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/QueueManager.java
    
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/QueueManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/QueueManager.java?rev=1632365&r1=1632364&r2=1632365&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/QueueManager.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/queues/QueueManager.java
 Thu Oct 16 15:57:47 2014
@@ -250,7 +250,7 @@ public class QueueManager
     }
 
     /**
-     * @see org.apache.sling.event.jobs.JobManager#restart()
+     * Outdate all queues.
      */
     public void restart() {
         // let's rename/close all queues and clear them
@@ -263,17 +263,6 @@ public class QueueManager
         }
     }
 
-    private void stopProcessing() {
-        // let's rename/close all queues and clear them
-        synchronized ( queuesLock ) {
-            final List<AbstractJobQueue> queues = new 
ArrayList<AbstractJobQueue>(this.queues.values());
-            for(final AbstractJobQueue queue : queues ) {
-                queue.clear();
-                this.outdateQueue(queue);
-            }
-        }
-    }
-
     /**
      * @see org.apache.sling.event.jobs.JobManager#getQueue(java.lang.String)
      */

Modified: 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java?rev=1632365&r1=1632364&r2=1632365&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java
 (original)
+++ 
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/topics/TopicManager.java
 Thu Oct 16 15:57:47 2014
@@ -62,6 +62,7 @@ import org.slf4j.LoggerFactory;
  * Topic manager
  *
  * TODO - Check syncing of take/update/stop. This might not be 100% correct 
yet.
+ * TODO - Block take() if inactive
  */
 @Component(immediate=true)
 @Service(value=EventHandler.class)
@@ -325,9 +326,15 @@ public class TopicManager implements Eve
             for(final Map.Entry<String, QueueJobCache> entry : 
this.updateConfiguration().entrySet()) {
                 this.queueManager.start(this, entry.getValue().getQueueInfo());
             }
+        } else {
+            this.queueManager.restart();
         }
     }
 
+    /**
+     * Reschedule a job
+     * @param handler The job handler
+     */
     public void reschedule(final JobHandler handler) {
         final QueueInfo info = 
this.queueConfigMgr.getQueueInfo(handler.getJob().getTopic());
         final QueueJobCache cache = this.queueJobCaches.get(info.queueName);


Reply via email to