diff --git a/src/main/java/org/alfresco/heartbeat/HBDataCollectorServiceImpl.java b/src/main/java/org/alfresco/heartbeat/HBDataCollectorServiceImpl.java index b9b32619e6..b131178eea 100644 --- a/src/main/java/org/alfresco/heartbeat/HBDataCollectorServiceImpl.java +++ b/src/main/java/org/alfresco/heartbeat/HBDataCollectorServiceImpl.java @@ -45,9 +45,6 @@ public class HBDataCollectorServiceImpl implements HBDataCollectorService /** The service responsible for sending the collected data */ private HBDataSenderService hbDataSenderService; - /** Current enabled state */ - private boolean enabled = false; - /** The default enable state */ private final boolean defaultHbState; @@ -59,7 +56,6 @@ public class HBDataCollectorServiceImpl implements HBDataCollectorService public HBDataCollectorServiceImpl (boolean defaultHeartBeatState) { this.defaultHbState = defaultHeartBeatState; - this.enabled = defaultHeartBeatState; } public void setHbDataSenderService(HBDataSenderService hbDataSenderService) @@ -102,22 +98,14 @@ public class HBDataCollectorServiceImpl implements HBDataCollectorService } @Override - public boolean getDefaultHbState() + public boolean isEnabledByDefault() { return defaultHbState; } @Override - public synchronized boolean isHbEnabled() + public synchronized void enabled(boolean enabled) { - return enabled; - } - - @Override - public synchronized void setHbEnabled(boolean enabled) - { - this.enabled = enabled; - this.hbDataSenderService.enable(enabled); } diff --git a/src/main/java/org/alfresco/heartbeat/HeartBeat.java b/src/main/java/org/alfresco/heartbeat/HeartBeat.java index 35b6ca16bf..57dee13dcc 100644 --- a/src/main/java/org/alfresco/heartbeat/HeartBeat.java +++ b/src/main/java/org/alfresco/heartbeat/HeartBeat.java @@ -67,6 +67,9 @@ public class HeartBeat implements LicenseChangeHandler private HBDataCollectorService dataCollectorService; + /** Current enabled state */ + private boolean enabled = false; + /** * Initialises the heart beat service. Note that dependencies are intentionally 'pulled' rather than injected * because we don't want these to be reconfigured. @@ -101,6 +104,8 @@ public class HeartBeat implements LicenseChangeHandler this.testMode = testMode; + this.enabled = dataCollectorService.isEnabledByDefault(); + try { LicenseService licenseService = null; @@ -128,6 +133,12 @@ public class HeartBeat implements LicenseChangeHandler } } + + public synchronized boolean isEnabled() + { + return this.enabled; + } + /** * Delegates data collection and sending to HBDataCollectorService. * @@ -149,13 +160,14 @@ public class HeartBeat implements LicenseChangeHandler boolean newEnabled = !licenseDescriptor.isHeartBeatDisabled(); - if (newEnabled != dataCollectorService.isHbEnabled()) + if (newEnabled != this.enabled) { if (logger.isDebugEnabled()) { logger.debug("State change of heartbeat"); } - dataCollectorService.setHbEnabled(newEnabled); + this.enabled = newEnabled; + dataCollectorService.enabled(newEnabled); try { scheduleJob(); @@ -173,15 +185,16 @@ public class HeartBeat implements LicenseChangeHandler @Override public synchronized void onLicenseFail() { - boolean newEnabled = dataCollectorService.getDefaultHbState(); + boolean newEnabled = dataCollectorService.isEnabledByDefault(); - if (newEnabled != dataCollectorService.isHbEnabled()) + if (newEnabled != this.enabled) { if (logger.isDebugEnabled()) { logger.debug("State change of heartbeat"); } - dataCollectorService.setHbEnabled(newEnabled); + this.enabled = newEnabled; + dataCollectorService.enabled(newEnabled); try { scheduleJob(); @@ -201,7 +214,7 @@ public class HeartBeat implements LicenseChangeHandler { // Schedule the heart beat to run regularly final String triggerName = JOB_NAME + "Trigger"; - if(dataCollectorService.isHbEnabled()) + if(this.enabled) { if (logger.isDebugEnabled()) { diff --git a/src/main/java/org/alfresco/service/cmr/repository/HBDataCollectorService.java b/src/main/java/org/alfresco/service/cmr/repository/HBDataCollectorService.java index 26d57e9a6a..95631c4b2f 100644 --- a/src/main/java/org/alfresco/service/cmr/repository/HBDataCollectorService.java +++ b/src/main/java/org/alfresco/service/cmr/repository/HBDataCollectorService.java @@ -32,12 +32,10 @@ public interface HBDataCollectorService void registerCollector(HBBaseDataCollector collector); void collectAndSendData(); - - boolean isHbEnabled(); - void setHbEnabled(boolean enabled); + void enabled(boolean enabled); - boolean getDefaultHbState(); + boolean isEnabledByDefault(); }