SLING-6311 - allow the cleanup job interval period to be configured.
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/models/impl@1770522 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java b/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
index b66ad61..9602799 100644
--- a/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
+++ b/src/main/java/org/apache/sling/models/impl/ModelAdapterFactory.java
@@ -153,9 +153,13 @@
private static final int DEFAULT_MAX_RECURSION_DEPTH = 20;
+ private static final long DEFAULT_CLEANUP_JOB_PERIOD = 30l;
+
@Property(label = "Maximum Recursion Depth", description = "Maximum depth adaptation will be attempted.", intValue = DEFAULT_MAX_RECURSION_DEPTH)
private static final String PROP_MAX_RECURSION_DEPTH = "max.recursion.depth";
+ @Property(label = "Cleanup Job Period", description = "Period at which OSGi service references from ThreadLocals will be cleaned up.", longValue = DEFAULT_CLEANUP_JOB_PERIOD)
+ private static final String PROP_CLEANUP_JOB_PERIOD = "cleanup.job.period";
private final @Nonnull ConcurrentMap<String, RankedServices<Injector>> injectors = new ConcurrentHashMap<String, RankedServices<Injector>>();
private final @Nonnull RankedServices<Injector> sortedInjectors = new RankedServices<Injector>();
@@ -929,7 +933,7 @@
properties.put(Constants.SERVICE_DESCRIPTION, "Sling Models OSGi Service Disposal Job");
properties.put("scheduler.name", "Sling Models OSGi Service Disposal Job");
properties.put("scheduler.concurrent", false);
- properties.put("scheduler.period", 30L);
+ properties.put("scheduler.period", PropertiesUtil.toLong(props.get(PROP_CLEANUP_JOB_PERIOD), DEFAULT_CLEANUP_JOB_PERIOD));
this.jobRegistration = bundleContext.registerService(Runnable.class.getName(), this, properties);