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/10/16 17:57:47 UTC

svn commit: r1632365 - in /sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs: queues/QueueManager.java topics/TopicManager.java

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);