Class OakBacklogClusterSyncService
- java.lang.Object
-
- org.apache.sling.discovery.commons.providers.spi.base.AbstractServiceWithBackgroundCheck
-
- org.apache.sling.discovery.commons.providers.spi.base.OakBacklogClusterSyncService
-
- All Implemented Interfaces:
ClusterSyncService
public class OakBacklogClusterSyncService extends AbstractServiceWithBackgroundCheck implements ClusterSyncService
The OakBacklogClusterSyncService will wait until all instances in the local cluster are no longer in any backlog state.
-
-
Constructor Summary
Constructors Constructor Description OakBacklogClusterSyncService()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cancelSync()
ClusterSyncHistory
getConsistencyHistory()
java.util.List<java.lang.String>
getSyncHistory()
void
setConsistencyHistory(ClusterSyncHistory consistencyHistory)
void
sync(BaseTopologyView view, java.lang.Runnable callback)
Starts the synchronization process and calls the provided callback upon completion.static OakBacklogClusterSyncService
testConstructor(DiscoveryLiteConfig commonsConfig, IdMapService idMapService, SlingSettingsService settingsService, ResourceResolverFactory resourceResolverFactory)
for testing only!static OakBacklogClusterSyncService
testConstructorAndActivate(DiscoveryLiteConfig commonsConfig, IdMapService idMapService, SlingSettingsService settingsService, ResourceResolverFactory resourceResolverFactory)
-
-
-
Method Detail
-
testConstructorAndActivate
public static OakBacklogClusterSyncService testConstructorAndActivate(DiscoveryLiteConfig commonsConfig, IdMapService idMapService, SlingSettingsService settingsService, ResourceResolverFactory resourceResolverFactory)
-
testConstructor
public static OakBacklogClusterSyncService testConstructor(DiscoveryLiteConfig commonsConfig, IdMapService idMapService, SlingSettingsService settingsService, ResourceResolverFactory resourceResolverFactory)
for testing only!
-
setConsistencyHistory
public void setConsistencyHistory(ClusterSyncHistory consistencyHistory)
-
getConsistencyHistory
public ClusterSyncHistory getConsistencyHistory()
-
cancelSync
public void cancelSync()
- Specified by:
cancelSync
in interfaceClusterSyncService
-
sync
public void sync(BaseTopologyView view, java.lang.Runnable callback)
Description copied from interface:ClusterSyncService
Starts the synchronization process and calls the provided callback upon completion.sync() is not thread-safe and should not be invoked concurrently.
If sync() gets called before a previous invocation finished, that previous invocation will be discarded, ie the callback of the previous invocation will no longer be called.
The synchronization process consists of making sure that the repository has processed any potential backlog of instances that are no longer part of the provided, new view. Plus it writes a 'sync-token' to a well-defined location, with all peers doing the same, and upon seeing all other sync-tokens declares successful completion - at which point it calls the callback.run().
- Specified by:
sync
in interfaceClusterSyncService
- Parameters:
view
- the view which all instances in the local cluster should agree on having seencallback
- the runnable which should be called after successful syncing
-
getSyncHistory
public java.util.List<java.lang.String> getSyncHistory()
-
-