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 2015/03/10 18:25:13 UTC
svn commit: r1665624 -
/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/JobManagerConfiguration.java
Author: cziegeler
Date: Tue Mar 10 17:25:13 2015
New Revision: 1665624
URL: http://svn.apache.org/r1665624
Log:
SLING-4491 : Potential NPE when JobManagerConfiguration is deactivated
Modified:
sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/JobManagerConfiguration.java
Modified: sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/JobManagerConfiguration.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/JobManagerConfiguration.java?rev=1665624&r1=1665623&r2=1665624&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/JobManagerConfiguration.java (original)
+++ sling/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/config/JobManagerConfiguration.java Tue Mar 10 17:25:13 2015
@@ -443,9 +443,9 @@ public class JobManagerConfiguration imp
public void configurationChanged(final boolean active) {
final TopologyCapabilities caps = this.topologyCapabilities;
if ( caps != null ) {
- synchronized ( this.listeners ) {
- this.stopProcessing(false);
+ this.stopProcessing(false);
+ if ( active ) {
this.startProcessing(Type.PROPERTIES_CHANGED, caps, true);
}
}
@@ -497,21 +497,24 @@ public class JobManagerConfiguration imp
// and run checker again in some seconds (if leader)
// notify listeners afterwards
- scheduler.schedule(new Runnable() {
-
- @Override
- public void run() {
- if ( newCaps.isLeader() && newCaps.isActive() ) {
- mt.assignUnassignedJobs();
- }
- // start listeners
- synchronized ( listeners ) {
- if ( topologyCapabilities != null && newCaps.isActive() ) {
- notifiyListeners();
+ final Scheduler local = this.scheduler;
+ if ( local != null ) {
+ local.schedule(new Runnable() {
+
+ @Override
+ public void run() {
+ if ( newCaps.isLeader() && newCaps.isActive() ) {
+ mt.assignUnassignedJobs();
+ }
+ // start listeners
+ synchronized ( listeners ) {
+ if ( topologyCapabilities != null && newCaps.isActive() ) {
+ notifiyListeners();
+ }
}
}
- }
- }, scheduler.AT(new Date(System.currentTimeMillis() + this.backgroundLoadDelay * 1000)));
+ }, local.AT(new Date(System.currentTimeMillis() + this.backgroundLoadDelay * 1000)));
+ }
logger.debug("Job processing started");
}