Package org.keycloak.cluster
Interface ClusterProvider
-
- All Superinterfaces:
Provider
- All Known Implementing Classes:
InfinispanClusterProvider
@Deprecated public interface ClusterProvider extends Provider
Deprecated.This is only available when the legacy store is enabled. Support for this will be eventually removed.Various utils related to clustering and concurrent tasks on cluster nodes- Author:
- Marek Posolda
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ClusterProvider.DCNotify
Deprecated.
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description <T> ExecutionResult<T>
executeIfNotExecuted(String taskKey, int taskTimeoutInSeconds, Callable<T> task)
Deprecated.Execute given task just if it's not already in progress (either on this or any other cluster node).Future<Boolean>
executeIfNotExecutedAsync(String taskKey, int taskTimeoutInSeconds, Callable task)
Deprecated.Execute given task just if it's not already in progress (either on this or any other cluster node).int
getClusterStartupTime()
Deprecated.Same value for all cluster nodes.void
notify(String taskKey, ClusterEvent event, boolean ignoreSender, ClusterProvider.DCNotify dcNotify)
Deprecated.Notify registered listeners on all cluster nodes in all datacenters.void
registerListener(String taskKey, ClusterListener task)
Deprecated.Register task (listener) under given key.
-
-
-
Method Detail
-
getClusterStartupTime
int getClusterStartupTime()
Deprecated.Same value for all cluster nodes. It will use startup time of this server in non-cluster environment.
-
executeIfNotExecuted
<T> ExecutionResult<T> executeIfNotExecuted(String taskKey, int taskTimeoutInSeconds, Callable<T> task)
Deprecated.Execute given task just if it's not already in progress (either on this or any other cluster node).- Type Parameters:
T
-- Parameters:
taskKey
-taskTimeoutInSeconds
- timeout for given task. If there is existing task in progress for longer time, it's considered outdated so we will start our task.task
-- Returns:
- result with "executed" flag specifying if execution was executed or ignored.
-
executeIfNotExecutedAsync
Future<Boolean> executeIfNotExecutedAsync(String taskKey, int taskTimeoutInSeconds, Callable task)
Deprecated.Execute given task just if it's not already in progress (either on this or any other cluster node). It will return corresponding future to every caller and this future is fulfilled if: - The task is successfully finished. In that case Future will be true - The task wasn't successfully finished. For example because cluster node failover. In that case Future will be false- Parameters:
taskKey
-taskTimeoutInSeconds
- timeout for given task. If there is existing task in progress for longer time, it's considered outdated so we will start our task.task
-- Returns:
- Future, which will be completed once the running task is finished. Returns true if task was successfully finished. Otherwise (for example if cluster node when task was running leaved cluster) returns false
-
registerListener
void registerListener(String taskKey, ClusterListener task)
Deprecated.Register task (listener) under given key. When this key will be put to the cache on any cluster node, the task will be executed.- Parameters:
taskKey
-task
-
-
notify
void notify(String taskKey, ClusterEvent event, boolean ignoreSender, ClusterProvider.DCNotify dcNotify)
Deprecated.Notify registered listeners on all cluster nodes in all datacenters. It will notify listeners registered under given taskKey- Parameters:
taskKey
-event
-ignoreSender
- if true, then sender node itself won't receive the notificationdcNotify
- Specify which DCs to notify. SeeClusterProvider.DCNotify
enum values for more info
-
-