mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-31 17:39:05 +00:00
REPO-2850 Heartbeat: Add support for turning the data collection on/off based on the heartbeat.enabled global property
* Move the enabled state from HBDataCollectorServiceImpl to HearBeat class as it is only modified there.
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
@@ -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())
|
||||
{
|
||||
|
@@ -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();
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user