You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2016/05/18 12:40:31 UTC
svn commit: r1744404 - in
/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution:
agent/impl/ queue/impl/jobhandling/ queue/impl/simple/
Author: tommaso
Date: Wed May 18 12:40:31 2016
New Revision: 1744404
URL: http://svn.apache.org/viewvc?rev=1744404&view=rev
Log:
SLING-5734 - added support for using both in-memory and jobs queues
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1744404&r1=1744403&r2=1744404&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java Wed May 18 12:40:31 2016
@@ -36,6 +36,7 @@ import org.apache.felix.scr.annotations.
import org.apache.jackrabbit.vault.packaging.Packaging;
import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.commons.scheduler.Scheduler;
import org.apache.sling.distribution.DistributionRequestType;
import org.apache.sling.distribution.component.impl.DistributionComponentConstants;
import org.apache.sling.distribution.component.impl.SettingsUtils;
@@ -50,7 +51,9 @@ import org.apache.sling.distribution.que
import org.apache.sling.distribution.queue.impl.ErrorQueueDispatchingStrategy;
import org.apache.sling.distribution.queue.impl.MultipleQueueDispatchingStrategy;
import org.apache.sling.distribution.queue.impl.PriorityQueueDispatchingStrategy;
+import org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueue;
import org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueueProvider;
+import org.apache.sling.distribution.queue.impl.simple.SimpleDistributionQueueProvider;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
import org.apache.sling.distribution.trigger.DistributionTrigger;
@@ -161,6 +164,14 @@ public class ForwardDistributionAgentFac
"e.g. use target=(name=...) to bind to services by name.")
public static final String TRIGGERS_TARGET = "triggers.target";
+ @Property(options = {
+ @PropertyOption(name = JobHandlingDistributionQueueProvider.TYPE, value = "Sling Jobs"),
+ @PropertyOption(name = SimpleDistributionQueueProvider.TYPE, value = "In-memory")},
+ value = "info",
+ label = "Log Level", description = "The log level recorded in the transient log accessible via http."
+ )
+ public static final String QUEUE_PROVIDER = "queue.provider";
+
@Reference
private Packaging packaging;
@@ -179,6 +190,9 @@ public class ForwardDistributionAgentFac
@Reference
private SlingRepository slingRepository;
+ @Reference
+ private Scheduler scheduler;
+
@Activate
protected void activate(BundleContext context, Map<String, Object> config) {
@@ -213,9 +227,16 @@ public class ForwardDistributionAgentFac
Map<String, String> priorityQueues = PropertiesUtil.toMap(config.get(PRIORITY_QUEUES), new String[0]);
priorityQueues = SettingsUtils.removeEmptyEntries(priorityQueues);
-
DistributionPackageExporter packageExporter = new LocalDistributionPackageExporter(packageBuilder);
- DistributionQueueProvider queueProvider = new JobHandlingDistributionQueueProvider(agentName, jobManager, context);
+
+ DistributionQueueProvider queueProvider;
+ String queueProviderName = PropertiesUtil.toString(config.get(QUEUE_PROVIDER), JobHandlingDistributionQueueProvider.TYPE);
+ if (JobHandlingDistributionQueueProvider.TYPE.equals(queueProviderName)) {
+ queueProvider = new JobHandlingDistributionQueueProvider(agentName, jobManager, context);
+ }
+ else {
+ queueProvider = new SimpleDistributionQueueProvider(scheduler, agentName);
+ }
DistributionQueueDispatchingStrategy exportQueueStrategy;
DistributionQueueDispatchingStrategy errorQueueStrategy = null;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java?rev=1744404&r1=1744403&r2=1744404&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java Wed May 18 12:40:31 2016
@@ -44,6 +44,9 @@ import org.slf4j.LoggerFactory;
* {@link org.apache.sling.distribution.queue.DistributionQueue}s
*/
public class JobHandlingDistributionQueueProvider implements DistributionQueueProvider {
+
+ public static final String TYPE = "jobs";
+
private final Logger log = LoggerFactory.getLogger(getClass());
private final String name;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java?rev=1744404&r1=1744403&r2=1744404&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java Wed May 18 12:40:31 2016
@@ -37,6 +37,8 @@ import org.slf4j.LoggerFactory;
*/
public class SimpleDistributionQueueProvider implements DistributionQueueProvider {
+ public static final String TYPE = "simple";
+
private final Logger log = LoggerFactory.getLogger(getClass());
private final String name;