keycloak
クラス | 公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 限定公開変数類 | 非公開変数類 | 全メンバ一覧
org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction クラス
org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction の継承関係図
Inheritance graph
org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction 連携図
Collaboration graph

クラス

class  DCEventContext
 

公開メンバ関数

 SessionEventsSenderTransaction (KeycloakSession session)
 
void addEvent (SessionClusterEvent event, ClusterProvider.DCNotify dcNotify)
 
void begin ()
 
void commit ()
 
void rollback ()
 
void setRollbackOnly ()
 
boolean getRollbackOnly ()
 
boolean isActive ()
 
TransactionState getState ()
 

静的公開変数類

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

限定公開メンバ関数

void commitImpl ()
 
void rollbackImpl ()
 

限定公開変数類

TransactionState state = TransactionState.NOT_STARTED
 

非公開変数類

final KeycloakSession session
 
final List< DCEventContextsessionEvents = new LinkedList<>()
 

詳解

Postpone sending notifications of session events to the commit of Keycloak transaction

著者
Marek Posolda

構築子と解体子

◆ SessionEventsSenderTransaction()

org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction.SessionEventsSenderTransaction ( KeycloakSession  session)
inline
38  {
39  this.session = session;
40  }
final KeycloakSession session
Definition: SessionEventsSenderTransaction.java:34

関数詳解

◆ addEvent()

void org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction.addEvent ( SessionClusterEvent  event,
ClusterProvider.DCNotify  dcNotify 
)
inline
42  {
43  sessionEvents.add(new DCEventContext(dcNotify, event));
44  }
final List< DCEventContext > sessionEvents
Definition: SessionEventsSenderTransaction.java:36

◆ begin()

void org.keycloak.models.AbstractKeycloakTransaction.begin ( )
inlineinherited

org.keycloak.models.KeycloakTransactionを実装しています。

34  {
35  if (state != TransactionState.NOT_STARTED) {
36  throw new IllegalStateException("Transaction already started");
37  }
38 
39  state = TransactionState.STARTED;
40  }
STARTED
Definition: AbstractKeycloakTransaction.java:84
TransactionState state
Definition: AbstractKeycloakTransaction.java:31
NOT_STARTED
Definition: AbstractKeycloakTransaction.java:84

◆ commit()

void org.keycloak.models.AbstractKeycloakTransaction.commit ( )
inlineinherited

org.keycloak.models.KeycloakTransactionを実装しています。

43  {
44  if (state != TransactionState.STARTED) {
45  throw new IllegalStateException("Transaction in illegal state for commit: " + state);
46  }
47 
48  commitImpl();
49 
50  state = TransactionState.FINISHED;
51  }
STARTED
Definition: AbstractKeycloakTransaction.java:84
TransactionState state
Definition: AbstractKeycloakTransaction.java:31
FINISHED
Definition: AbstractKeycloakTransaction.java:84

◆ commitImpl()

void org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction.commitImpl ( )
inlineprotected
48  {
49  ClusterProvider cluster = session.getProvider(ClusterProvider.class);
50 
51  // TODO bulk notify (send whole list instead of separate events?)
52  for (DCEventContext entry : sessionEvents) {
53  cluster.notify(entry.event.getEventKey(), entry.event, false, entry.dcNotify);
54  }
55  }
final List< DCEventContext > sessionEvents
Definition: SessionEventsSenderTransaction.java:36
< T extends Provider > T getProvider(Class< T > clazz)
final KeycloakSession session
Definition: SessionEventsSenderTransaction.java:34

◆ getRollbackOnly()

boolean org.keycloak.models.AbstractKeycloakTransaction.getRollbackOnly ( )
inlineinherited

org.keycloak.models.KeycloakTransactionを実装しています。

70  {
71  return state == TransactionState.ROLLBACK_ONLY;
72  }
ROLLBACK_ONLY
Definition: AbstractKeycloakTransaction.java:84
TransactionState state
Definition: AbstractKeycloakTransaction.java:31

◆ getState()

TransactionState org.keycloak.models.AbstractKeycloakTransaction.getState ( )
inlineinherited
79  {
80  return state;
81  }
TransactionState state
Definition: AbstractKeycloakTransaction.java:31

◆ isActive()

boolean org.keycloak.models.AbstractKeycloakTransaction.isActive ( )
inlineinherited

org.keycloak.models.KeycloakTransactionを実装しています。

75  {
76  return state == TransactionState.STARTED || state == TransactionState.ROLLBACK_ONLY;
77  }
STARTED
Definition: AbstractKeycloakTransaction.java:84
ROLLBACK_ONLY
Definition: AbstractKeycloakTransaction.java:84
TransactionState state
Definition: AbstractKeycloakTransaction.java:31

◆ rollback()

void org.keycloak.models.AbstractKeycloakTransaction.rollback ( )
inlineinherited

org.keycloak.models.KeycloakTransactionを実装しています。

54  {
55  if (state != TransactionState.STARTED && state != TransactionState.ROLLBACK_ONLY) {
56  throw new IllegalStateException("Transaction in illegal state for rollback: " + state);
57  }
58 
59  rollbackImpl();
60 
61  state = TransactionState.FINISHED;
62  }
STARTED
Definition: AbstractKeycloakTransaction.java:84
ROLLBACK_ONLY
Definition: AbstractKeycloakTransaction.java:84
TransactionState state
Definition: AbstractKeycloakTransaction.java:31
FINISHED
Definition: AbstractKeycloakTransaction.java:84

◆ rollbackImpl()

void org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction.rollbackImpl ( )
inlineprotected
59  {
60 
61  }

◆ setRollbackOnly()

void org.keycloak.models.AbstractKeycloakTransaction.setRollbackOnly ( )
inlineinherited

org.keycloak.models.KeycloakTransactionを実装しています。

65  {
66  state = TransactionState.ROLLBACK_ONLY;
67  }
ROLLBACK_ONLY
Definition: AbstractKeycloakTransaction.java:84
TransactionState state
Definition: AbstractKeycloakTransaction.java:31

メンバ詳解

◆ logger

final Logger org.keycloak.models.AbstractKeycloakTransaction.logger = Logger.getLogger(AbstractKeycloakTransaction.class)
staticinherited

◆ session

final KeycloakSession org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction.session
private

◆ sessionEvents

final List<DCEventContext> org.keycloak.models.sessions.infinispan.events.SessionEventsSenderTransaction.sessionEvents = new LinkedList<>()
private

◆ state

TransactionState org.keycloak.models.AbstractKeycloakTransaction.state = TransactionState.NOT_STARTED
protectedinherited

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