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 failures happen.
- 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.voidinject(EmbeddedCacheManager cacheManager, Configuration configuration, Transport transport, TimeService timeService, org.infinispan.util.logging.events.EventLogManager eventLogManager, String cacheName) 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).voidstop()takeSiteOffline(String siteName) It changes the sitesiteNameto offline.
-
Constructor Details
-
DefaultTakeOfflineManager
public DefaultTakeOfflineManager()
-
-
Method Details
-
isCommunicationError
-
inject
public void inject(EmbeddedCacheManager cacheManager, Configuration configuration, Transport transport, TimeService timeService, org.infinispan.util.logging.events.EventLogManager eventLogManager, String cacheName) -
start
public void start() -
stop
public void stop() -
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
-
getTimeService
-