keycloak
クラス | 公開メンバ関数 | 全メンバ一覧
org.keycloak.cluster.ClusterProvider インタフェース
org.keycloak.cluster.ClusterProvider の継承関係図
Inheritance graph
org.keycloak.cluster.ClusterProvider 連携図
Collaboration graph

クラス

enum  DCNotify
 

公開メンバ関数

int getClusterStartupTime ()
 
< T > ExecutionResult< T > executeIfNotExecuted (String taskKey, int taskTimeoutInSeconds, Callable< T > task)
 
Future< Boolean > executeIfNotExecutedAsync (String taskKey, int taskTimeoutInSeconds, Callable task)
 
void registerListener (String taskKey, ClusterListener task)
 
void notify (String taskKey, ClusterEvent event, boolean ignoreSender, DCNotify dcNotify)
 
void close ()
 

詳解

Various utils related to clustering and concurrent tasks on cluster nodes

著者
Marek Posolda

クラス詳解

◆ org::keycloak::cluster::ClusterProvider::DCNotify

enum org::keycloak::cluster::ClusterProvider::DCNotify
org.keycloak.cluster.ClusterProvider.DCNotify 連携図
Collaboration graph
列挙値
ALL_BUT_LOCAL_DC

Send message to all cluster nodes in all datacenters, but NOT to this datacenter. Option "ignoreSender" of method notify will be ignored as sender is ignored anyway due it is in this datacenter

ALL_DCS

Send message to all cluster nodes in all DCs

LOCAL_DC_ONLY

Send message to all cluster nodes on THIS datacenter only

関数詳解

◆ close()

void org.keycloak.provider.Provider.close ( )
inherited

org.keycloak.models.sessions.infinispan.InfinispanUserSessionProvider, org.keycloak.storage.UserStorageManager, org.keycloak.protocol.saml.SamlProtocol, org.keycloak.storage.ldap.LDAPStorageProvider, org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProvider, org.keycloak.models.cache.infinispan.RealmCacheSession, org.keycloak.models.jpa.JpaUserProvider, org.keycloak.models.cache.infinispan.UserCacheSession, org.keycloak.forms.account.freemarker.FreeMarkerAccountProvider, org.keycloak.protocol.oidc.OIDCLoginProtocol, org.keycloak.models.jpa.session.JpaUserSessionPersisterProvider, org.keycloak.credential.UserCredentialStoreManager, org.keycloak.services.managers.DefaultBruteForceProtector, org.keycloak.connections.jpa.updater.liquibase.LiquibaseJpaUpdaterProvider, org.keycloak.email.freemarker.FreeMarkerEmailTemplateProvider, org.keycloak.protocol.saml.EntityDescriptorDescriptionConverter, org.keycloak.federation.kerberos.KerberosFederationProvider, org.keycloak.models.jpa.JpaUserCredentialStore, org.keycloak.storage.ClientStorageManager, org.keycloak.keys.infinispan.InfinispanPublicKeyStorageProvider, org.keycloak.models.sessions.infinispan.InfinispanAuthenticationSessionProvider, org.keycloak.services.clientregistration.AbstractClientRegistrationProvider, org.keycloak.authentication.authenticators.x509.AbstractX509ClientCertificateAuthenticator, org.keycloak.authentication.authenticators.resetcred.ResetCredentialEmail, org.keycloak.authentication.forms.RegistrationRecaptcha, org.keycloak.authentication.authenticators.browser.ScriptBasedAuthenticator, org.keycloak.email.DefaultEmailSenderProvider, org.keycloak.models.jpa.JpaRealmProvider, org.keycloak.exportimport.dir.DirImportProvider, org.keycloak.protocol.docker.DockerAuthV2Protocol, org.keycloak.authentication.authenticators.browser.SpnegoAuthenticator, org.keycloak.authorization.AuthorizationProvider, org.keycloak.authentication.authenticators.resetcred.ResetCredentialChooseUser, org.keycloak.authentication.forms.RegistrationUserCreation, org.keycloak.connections.jpa.updater.liquibase.lock.LiquibaseDBLockProvider, org.keycloak.theme.ExtendingThemeManager, org.keycloak.protocol.saml.installation.KeycloakSamlClientInstallation, org.keycloak.models.cache.infinispan.authorization.StoreFactoryCacheSession, org.keycloak.protocol.saml.installation.SamlIDPDescriptorClientInstallation, org.keycloak.authentication.authenticators.challenge.BasicAuthAuthenticator, org.keycloak.authentication.authenticators.cli.CliUsernamePasswordAuthenticator, org.keycloak.protocol.oidc.installation.KeycloakOIDCClientInstallation, org.keycloak.authentication.forms.RegistrationProfile, org.keycloak.authentication.requiredactions.UpdatePassword, org.keycloak.authentication.requiredactions.UpdateProfile, org.keycloak.protocol.saml.mappers.RoleNameMapper, org.keycloak.authentication.forms.RegistrationPassword, org.keycloak.protocol.oidc.OIDCWellKnownProvider, org.keycloak.events.log.JBossLoggingEventListenerProvider, org.keycloak.protocol.saml.profile.ecp.authenticator.HttpBasicAuthenticator, org.keycloak.connections.jpa.updater.liquibase.conn.DefaultLiquibaseConnectionProvider, org.keycloak.authentication.authenticators.console.ConsoleUsernamePasswordAuthenticator, org.keycloak.authentication.authenticators.broker.AbstractIdpAuthenticator, org.keycloak.protocol.saml.installation.ModAuthMellonClientInstallation, org.keycloak.authentication.authenticators.browser.IdentityProviderAuthenticator, org.keycloak.credential.hash.Pbkdf2PasswordHashProvider, org.keycloak.events.jpa.JpaEventStoreProvider, org.keycloak.authentication.authenticators.browser.UsernamePasswordForm, org.keycloak.authentication.authenticators.browser.OTPFormAuthenticator, org.keycloak.authentication.requiredactions.ConsoleUpdateTotp, org.keycloak.authentication.requiredactions.ConsoleVerifyEmail, org.keycloak.authentication.requiredactions.VerifyEmail, org.keycloak.authentication.requiredactions.TermsAndConditions, org.keycloak.authorization.protection.introspect.RPTIntrospectionProvider, org.keycloak.protocol.oidc.installation.KeycloakOIDCJbossSubsystemClientInstallation, org.keycloak.authentication.requiredactions.UpdateTotp, org.keycloak.models.UserProvider, org.keycloak.exportimport.dir.DirExportProvider, org.keycloak.models.UserSessionProvider, org.keycloak.scripting.DefaultScriptingProvider, org.keycloak.protocol.oidc.AccessTokenIntrospectionProvider, org.keycloak.protocol.saml.installation.SamlSPDescriptorClientInstallation, org.keycloak.exportimport.singlefile.SingleFileExportProvider, org.keycloak.exportimport.singlefile.SingleFileImportProvider, org.keycloak.policy.HashIterationsPasswordPolicyProviderFactory, org.keycloak.services.migration.DefaultMigrationProvider, org.keycloak.authentication.authenticators.resetcred.AbstractSetRequiredActionAuthenticator, org.keycloak.storage.ldap.mappers.AbstractLDAPStorageMapper, org.keycloak.services.clientregistration.AdapterInstallationClientRegistrationProvider, org.keycloak.timer.basic.BasicTimerProvider, org.keycloak.theme.FolderThemeProvider, org.keycloak.models.RealmProvider, org.keycloak.policy.HistoryPasswordPolicyProvider, org.keycloak.protocol.saml.installation.KeycloakSamlSubsystemInstallation, org.keycloak.storage.jpa.JpaUserFederatedStorageProvider, org.keycloak.authentication.authenticators.browser.CookieAuthenticator, org.keycloak.keys.AbstractGeneratedSecretKeyProvider, org.keycloak.authorization.jpa.store.JPAStoreFactory, org.keycloak.events.email.EmailEventListenerProvider, org.keycloak.authentication.authenticators.challenge.NoCookieFlowRedirectAuthenticator, org.keycloak.policy.BlacklistPasswordPolicyProvider, org.keycloak.authentication.authenticators.console.ConsoleOTPFormAuthenticator, org.keycloak.authentication.requiredactions.ConsoleTermsAndConditions, org.keycloak.models.sessions.infinispan.InfinispanCodeToTokenStoreProvider, org.keycloak.policy.RegexPatternsPasswordPolicyProvider, org.keycloak.models.sessions.infinispan.InfinispanStickySessionEncoderProvider, org.keycloak.cluster.infinispan.InfinispanClusterProvider, org.keycloak.authentication.requiredactions.ConsoleUpdateProfile, org.keycloak.exportimport.KeycloakClientDescriptionConverter, org.keycloak.policy.DefaultPasswordPolicyManagerProvider, org.keycloak.services.x509.AbstractClientCertificateFromHttpHeadersLookup, org.keycloak.theme.ClasspathThemeProvider, org.keycloak.policy.DigitsPasswordPolicyProvider, org.keycloak.policy.LowerCasePasswordPolicyProvider, org.keycloak.policy.SpecialCharsPasswordPolicyProvider, org.keycloak.policy.UpperCasePasswordPolicyProvider, org.keycloak.models.session.DisabledUserSessionPersisterProvider, org.keycloak.policy.NotUsernamePasswordPolicyProvider, org.keycloak.theme.DefaultThemeSelectorProvider, org.keycloak.connections.infinispan.DefaultInfinispanConnectionProvider, org.keycloak.provider.ExceptionConverter, org.keycloak.policy.LengthPasswordPolicyProvider, org.keycloak.authentication.forms.RegistrationPage, org.keycloak.protocol.oidc.OIDCClientDescriptionConverter, org.keycloak.theme.ClasspathThemeResourceProviderFactory, org.keycloak.policy.HashAlgorithmPasswordPolicyProviderFactory, org.keycloak.models.sessions.infinispan.InfinispanActionTokenStoreProvider, org.keycloak.authentication.authenticators.x509.X509ClientCertificateAuthenticator, org.keycloak.locale.DefaultLocaleSelectorProvider, org.keycloak.policy.ForceExpiredPasswordPolicyProviderFactory, org.keycloak.authentication.authenticators.directgrant.AbstractDirectGrantAuthenticator, org.keycloak.protocol.docker.installation.DockerComposeYamlInstallationProvider, org.keycloak.truststore.FileTruststoreProvider, org.keycloak.protocol.oidc.mappers.AbstractOIDCProtocolMapper, org.keycloak.authentication.authenticators.AttemptedAuthenticator, org.keycloak.authorization.policy.provider.drools.DroolsPolicyProvider, org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy, org.keycloak.services.x509.DefaultClientCertificateLookup, org.keycloak.connections.jpa.DefaultJpaConnectionProvider, org.keycloak.authorization.config.UmaWellKnownProvider, org.keycloak.protocol.saml.mappers.AbstractSAMLProtocolMapper, org.keycloak.urls.HostnameProvider, org.keycloak.authentication.authenticators.client.AbstractClientAuthenticator, org.keycloak.keys.KeyProvider, org.keycloak.protocol.docker.installation.DockerRegistryConfigFileInstallationProvider, org.keycloak.protocol.docker.installation.DockerVariableOverrideInstallationProvider, org.keycloak.protocol.docker.mapper.DockerAuthV2ProtocolMapper, org.keycloak.transaction.JtaTransactionManagerLookup, org.keycloak.broker.provider.AbstractIdentityProviderMapper, org.keycloak.authentication.AbstractFormAuthenticator, org.keycloak.crypto.SignatureProvider, org.keycloak.credential.CredentialProvider, org.keycloak.protocol.oidc.ext.OIDCExtProvider (計143項目)で実装されています。

◆ executeIfNotExecuted()

<T> ExecutionResult<T> org.keycloak.cluster.ClusterProvider.executeIfNotExecuted ( String  taskKey,
int  taskTimeoutInSeconds,
Callable< T >  task 
)

Execute given task just if it's not already in progress (either on this or any other cluster node).

引数
taskKey
taskTimeoutInSecondstimeout for given task. If there is existing task in progress for longer time, it's considered outdated so we will start our task.
task
<T>
戻り値
result with "executed" flag specifying if execution was executed or ignored.

org.keycloak.cluster.infinispan.InfinispanClusterProviderで実装されています。

◆ executeIfNotExecutedAsync()

Future<Boolean> org.keycloak.cluster.ClusterProvider.executeIfNotExecutedAsync ( String  taskKey,
int  taskTimeoutInSeconds,
Callable  task 
)

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
引数
taskKey
taskTimeoutInSecondstimeout for given task. If there is existing task in progress for longer time, it's considered outdated so we will start our task.
task
戻り値
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

org.keycloak.cluster.infinispan.InfinispanClusterProviderで実装されています。

◆ getClusterStartupTime()

int org.keycloak.cluster.ClusterProvider.getClusterStartupTime ( )

Same value for all cluster nodes. It will use startup time of this server in non-cluster environment.

org.keycloak.cluster.infinispan.InfinispanClusterProviderで実装されています。

◆ notify()

void org.keycloak.cluster.ClusterProvider.notify ( String  taskKey,
ClusterEvent  event,
boolean  ignoreSender,
DCNotify  dcNotify 
)

Notify registered listeners on all cluster nodes in all datacenters. It will notify listeners registered under given taskKey

引数
taskKey
event
ignoreSenderif true, then sender node itself won't receive the notification
dcNotifySpecify which DCs to notify. See DCNotify enum values for more info

org.keycloak.cluster.infinispan.InfinispanClusterProviderで実装されています。

◆ registerListener()

void org.keycloak.cluster.ClusterProvider.registerListener ( String  taskKey,
ClusterListener  task 
)

Register task (listener) under given key. When this key will be put to the cache on any cluster node, the task will be executed.

引数
taskKey
task

org.keycloak.cluster.infinispan.InfinispanClusterProviderで実装されています。


このインタフェース詳解は次のファイルから抽出されました: