Package org.infinispan.xsite.status
Class DefaultTakeOfflineManager
java.lang.Object
org.infinispan.xsite.status.DefaultTakeOfflineManager
- All Implemented Interfaces:
org.infinispan.metrics.impl.CustomMetricsSupplier,XSiteResponse.XSiteResponseCompleted,TakeOfflineManager
public class DefaultTakeOfflineManager
extends Object
implements TakeOfflineManager, XSiteResponse.XSiteResponseCompleted
The default implementation of
TakeOfflineManager.
It automatically takes a site offline when certain failures condition happens.
- Since:
- 11.0
- Author:
- Pedro Ruivo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidamendConfiguration(String siteName, Integer afterFailures, Long minTimeToWait) It changes theTakeOfflineConfigurationfor sitesiteName.bringSiteOnline(String siteName) It changes the sitesiteNameto online.getConfiguration(String siteName) It returns the currentTakeOfflineConfigurationfor sitesiteName.getCustomMetrics(GlobalMetricsConfiguration configuration) org.infinispan.xsite.OfflineStatusgetOfflineStatus(String siteName) getSiteState(String siteName) Returns the site state for sitesiteName.static booleanisCommunicationError(Throwable throwable) voidonCompleted(org.infinispan.xsite.XSiteBackup backup, long sendTimeNanos, long durationNanos, Throwable throwable) voidregisterRequest(XSiteResponse<?> response) Registers a cross-site request made.voidstart()status()It returns aMapwith the sites name and their state (Online or Offline).takeSiteOffline(String siteName) It changes the sitesiteNameto offline.toString()
-
Constructor Details
-
DefaultTakeOfflineManager
-
-
Method Details
-
isCommunicationError
-
start
public void start() -
registerRequest
Description copied from interface:TakeOfflineManagerRegisters a cross-site request made.Handles the response for the request and takes action in case of failure.
- Specified by:
registerRequestin interfaceTakeOfflineManager- Parameters:
response- The cross-site response.
-
getSiteState
Description copied from interface:TakeOfflineManagerReturns the site state for sitesiteName.The site can be
SiteState.ONLINEorSiteState.OFFLINE. If it doesn't exist,SiteState.NOT_FOUNDis returned.- Specified by:
getSiteStatein interfaceTakeOfflineManager- Parameters:
siteName- The remote site name.- Returns:
- The
SiteState.
-
amendConfiguration
Description copied from interface:TakeOfflineManagerIt changes theTakeOfflineConfigurationfor sitesiteName.If the
siteNamedoesn't exist, this method is a no-op.- Specified by:
amendConfigurationin interfaceTakeOfflineManager- Parameters:
siteName- The remote site name.afterFailures- The newTakeOfflineConfigurationBuilder.afterFailures(int)ornullfor no changes.minTimeToWait- The newTakeOfflineConfigurationBuilder.minTimeToWait(long)ornullfor no changes.
-
getConfiguration
Description copied from interface:TakeOfflineManagerIt returns the currentTakeOfflineConfigurationfor sitesiteName.- Specified by:
getConfigurationin interfaceTakeOfflineManager- Parameters:
siteName- The remote site name.- Returns:
- The current
TakeOfflineConfigurationornullif the sitesiteNamedoesn't exist.
-
status
Description copied from interface:TakeOfflineManagerIt returns aMapwith the sites name and their state (Online or Offline).If a site is online, then its value is
Boolean.TRUE, otherwise isBoolean.FALSE.- Specified by:
statusin interfaceTakeOfflineManager- Returns:
- A
Mapwith the site state.
-
bringSiteOnline
Description copied from interface:TakeOfflineManagerIt changes the sitesiteNameto online.If the site is already online, then
BringSiteOnlineResponse.ALREADY_ONLINEis returned. If it doesn't exits,BringSiteOnlineResponse.NO_SUCH_SITEis returned.- Specified by:
bringSiteOnlinein interfaceTakeOfflineManager- Parameters:
siteName- The remote site name.- Returns:
- The
BringSiteOnlineResponse.
-
takeSiteOffline
Description copied from interface:TakeOfflineManagerIt changes the sitesiteNameto offline.If the site is already offline, then
TakeSiteOfflineResponse.ALREADY_OFFLINEis returned. If it doesn't exits,TakeSiteOfflineResponse.NO_SUCH_SITEis returned.- Specified by:
takeSiteOfflinein interfaceTakeOfflineManager- Parameters:
siteName- The remote site name.- Returns:
- The
TakeSiteOfflineResponse.
-
getCustomMetrics
- Specified by:
getCustomMetricsin interfaceTakeOfflineManager
-
onCompleted
public void onCompleted(org.infinispan.xsite.XSiteBackup backup, long sendTimeNanos, long durationNanos, Throwable throwable) - Specified by:
onCompletedin interfaceXSiteResponse.XSiteResponseCompleted
-
getOfflineStatus
-
toString
-