keycloak
公開メンバ関数 | 静的限定公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.models.dblock.DBLockManager クラス
org.keycloak.models.dblock.DBLockManager 連携図
Collaboration graph

公開メンバ関数

 DBLockManager (KeycloakSession session)
 
void checkForcedUnlock ()
 
DBLockProvider getDBLock ()
 
DBLockProviderFactory getDBLockFactory ()
 

静的限定公開変数類

static final Logger logger = Logger.getLogger(DBLockManager.class)
 

非公開メンバ関数

String getRealmProviderId ()
 

非公開変数類

final KeycloakSession session
 

詳解

著者
Marek Posolda

構築子と解体子

◆ DBLockManager()

org.keycloak.models.dblock.DBLockManager.DBLockManager ( KeycloakSession  session)
inline
34  {
35  this.session = session;
36  }
final KeycloakSession session
Definition: DBLockManager.java:32

関数詳解

◆ checkForcedUnlock()

void org.keycloak.models.dblock.DBLockManager.checkForcedUnlock ( )
inline
39  {
40  if (Boolean.getBoolean("keycloak.dblock.forceUnlock")) {
41  DBLockProvider lock = getDBLock();
42  if (lock.supportsForcedUnlock()) {
43  logger.warn("Forced release of DB lock at startup requested by System property. Make sure to not use this in production environment! And especially when more cluster nodes are started concurrently.");
44  lock.releaseLock();
45  } else {
46  throw new IllegalStateException("Forced unlock requested, but provider " + lock + " doesn't support it");
47  }
48  }
49  }
DBLockProvider getDBLock()
Definition: DBLockManager.java:53
static final Logger logger
Definition: DBLockManager.java:30

◆ getDBLock()

DBLockProvider org.keycloak.models.dblock.DBLockManager.getDBLock ( )
inline
53  {
54  String realmProviderId = getRealmProviderId();
55  return session.getProvider(DBLockProvider.class, realmProviderId);
56  }
String getRealmProviderId()
Definition: DBLockManager.java:63
< T extends Provider > T getProvider(Class< T > clazz)
final KeycloakSession session
Definition: DBLockManager.java:32

◆ getDBLockFactory()

DBLockProviderFactory org.keycloak.models.dblock.DBLockManager.getDBLockFactory ( )
inline
58  {
59  String realmProviderId = getRealmProviderId();
60  return (DBLockProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(DBLockProvider.class, realmProviderId);
61  }
KeycloakSessionFactory getKeycloakSessionFactory()
String getRealmProviderId()
Definition: DBLockManager.java:63
< T extends Provider > ProviderFactory< T > getProviderFactory(Class< T > clazz)
final KeycloakSession session
Definition: DBLockManager.java:32

◆ getRealmProviderId()

String org.keycloak.models.dblock.DBLockManager.getRealmProviderId ( )
inlineprivate
63  {
64  RealmProviderFactory realmProviderFactory = (RealmProviderFactory) session.getKeycloakSessionFactory().getProviderFactory(RealmProvider.class);
65  return realmProviderFactory.getId();
66  }
KeycloakSessionFactory getKeycloakSessionFactory()
< T extends Provider > ProviderFactory< T > getProviderFactory(Class< T > clazz)
final KeycloakSession session
Definition: DBLockManager.java:32

メンバ詳解

◆ logger

final Logger org.keycloak.models.dblock.DBLockManager.logger = Logger.getLogger(DBLockManager.class)
staticprotected

◆ session

final KeycloakSession org.keycloak.models.dblock.DBLockManager.session
private

このクラス詳解は次のファイルから抽出されました: