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