keycloak-service
公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.keycloak.services.DefaultKeycloakTransactionManager クラス
org.keycloak.services.DefaultKeycloakTransactionManager の継承関係図
Inheritance graph
org.keycloak.services.DefaultKeycloakTransactionManager 連携図
Collaboration graph

公開メンバ関数

 DefaultKeycloakTransactionManager (KeycloakSession session)
 
void enlist (KeycloakTransaction transaction)
 
void enlistAfterCompletion (KeycloakTransaction transaction)
 
void enlistPrepare (KeycloakTransaction transaction)
 
JTAPolicy getJTAPolicy ()
 
void setJTAPolicy (JTAPolicy policy)
 
void begin ()
 
void commit ()
 
void rollback ()
 
void setRollbackOnly ()
 
boolean getRollbackOnly ()
 
boolean isActive ()
 

限定公開メンバ関数

void rollback (RuntimeException exception)
 

限定公開変数類

boolean completed
 

非公開変数類

List< KeycloakTransaction > prepare = new LinkedList<KeycloakTransaction>()
 
List< KeycloakTransaction > transactions = new LinkedList<KeycloakTransaction>()
 
List< KeycloakTransaction > afterCompletion = new LinkedList<KeycloakTransaction>()
 
boolean active
 
boolean rollback
 
KeycloakSession session
 
JTAPolicy jtaPolicy = JTAPolicy.REQUIRES_NEW
 

静的非公開変数類

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

詳解

著者
Stian Thorgersen

構築子と解体子

◆ DefaultKeycloakTransactionManager()

org.keycloak.services.DefaultKeycloakTransactionManager.DefaultKeycloakTransactionManager ( KeycloakSession  session)
inline
47  {
48  this.session = session;
49  }
KeycloakSession session
Definition: DefaultKeycloakTransactionManager.java:42

関数詳解

◆ begin()

void org.keycloak.services.DefaultKeycloakTransactionManager.begin ( )
inline
90  {
91  if (active) {
92  throw new IllegalStateException("Transaction already active");
93  }
94 
95  completed = false;
96 
97  if (jtaPolicy == JTAPolicy.REQUIRES_NEW) {
98  JtaTransactionManagerLookup jtaLookup = session.getProvider(JtaTransactionManagerLookup.class);
99  if (jtaLookup != null) {
100  TransactionManager tm = jtaLookup.getTransactionManager();
101  if (tm != null) {
102  enlist(new JtaTransactionWrapper(session.getKeycloakSessionFactory(), tm));
103  }
104  }
105  }
106 
107  for (KeycloakTransaction tx : transactions) {
108  tx.begin();
109  }
110 
111  active = true;
112  }
KeycloakSession session
Definition: DefaultKeycloakTransactionManager.java:42
boolean active
Definition: DefaultKeycloakTransactionManager.java:40
void enlist(KeycloakTransaction transaction)
Definition: DefaultKeycloakTransactionManager.java:52
JTAPolicy jtaPolicy
Definition: DefaultKeycloakTransactionManager.java:43
List< KeycloakTransaction > transactions
Definition: DefaultKeycloakTransactionManager.java:38
boolean completed
Definition: DefaultKeycloakTransactionManager.java:45

◆ commit()

void org.keycloak.services.DefaultKeycloakTransactionManager.commit ( )
inline
115  {
116  if (completed) {
117  return;
118  } else {
119  completed = true;
120  }
121 
122  RuntimeException exception = null;
123  for (KeycloakTransaction tx : prepare) {
124  try {
125  tx.commit();
126  } catch (RuntimeException e) {
127  exception = exception == null ? e : exception;
128  }
129  }
130  if (exception != null) {
131  rollback(exception);
132  return;
133  }
134  for (KeycloakTransaction tx : transactions) {
135  try {
136  tx.commit();
137  } catch (RuntimeException e) {
138  exception = exception == null ? e : exception;
139  }
140  }
141 
142  // Don't commit "afterCompletion" if commit of some main transaction failed
143  if (exception == null) {
144  for (KeycloakTransaction tx : afterCompletion) {
145  try {
146  tx.commit();
147  } catch (RuntimeException e) {
148  exception = exception == null ? e : exception;
149  }
150  }
151  } else {
152  for (KeycloakTransaction tx : afterCompletion) {
153  try {
154  tx.rollback();
155  } catch (RuntimeException e) {
156  ServicesLogger.LOGGER.exceptionDuringRollback(e);
157  }
158  }
159  }
160 
161  active = false;
162  if (exception != null) {
163  throw exception;
164  }
165  }
List< KeycloakTransaction > prepare
Definition: DefaultKeycloakTransactionManager.java:37
boolean active
Definition: DefaultKeycloakTransactionManager.java:40
List< KeycloakTransaction > afterCompletion
Definition: DefaultKeycloakTransactionManager.java:39
void rollback()
Definition: DefaultKeycloakTransactionManager.java:168
List< KeycloakTransaction > transactions
Definition: DefaultKeycloakTransactionManager.java:38
boolean completed
Definition: DefaultKeycloakTransactionManager.java:45

◆ enlist()

void org.keycloak.services.DefaultKeycloakTransactionManager.enlist ( KeycloakTransaction  transaction)
inline
52  {
53  if (active && !transaction.isActive()) {
54  transaction.begin();
55  }
56 
57  transactions.add(transaction);
58  }
boolean active
Definition: DefaultKeycloakTransactionManager.java:40
List< KeycloakTransaction > transactions
Definition: DefaultKeycloakTransactionManager.java:38

◆ enlistAfterCompletion()

void org.keycloak.services.DefaultKeycloakTransactionManager.enlistAfterCompletion ( KeycloakTransaction  transaction)
inline
61  {
62  if (active && !transaction.isActive()) {
63  transaction.begin();
64  }
65 
66  afterCompletion.add(transaction);
67  }
boolean active
Definition: DefaultKeycloakTransactionManager.java:40
List< KeycloakTransaction > afterCompletion
Definition: DefaultKeycloakTransactionManager.java:39

◆ enlistPrepare()

void org.keycloak.services.DefaultKeycloakTransactionManager.enlistPrepare ( KeycloakTransaction  transaction)
inline
70  {
71  if (active && !transaction.isActive()) {
72  transaction.begin();
73  }
74 
75  prepare.add(transaction);
76  }
List< KeycloakTransaction > prepare
Definition: DefaultKeycloakTransactionManager.java:37
boolean active
Definition: DefaultKeycloakTransactionManager.java:40

◆ getJTAPolicy()

JTAPolicy org.keycloak.services.DefaultKeycloakTransactionManager.getJTAPolicy ( )
inline
79  {
80  return jtaPolicy;
81  }
JTAPolicy jtaPolicy
Definition: DefaultKeycloakTransactionManager.java:43

◆ getRollbackOnly()

boolean org.keycloak.services.DefaultKeycloakTransactionManager.getRollbackOnly ( )
inline
206  {
207  if (rollback) {
208  return true;
209  }
210 
211  for (KeycloakTransaction tx : transactions) {
212  if (tx.getRollbackOnly()) {
213  return true;
214  }
215  }
216 
217  return false;
218  }
void rollback()
Definition: DefaultKeycloakTransactionManager.java:168
List< KeycloakTransaction > transactions
Definition: DefaultKeycloakTransactionManager.java:38

◆ isActive()

boolean org.keycloak.services.DefaultKeycloakTransactionManager.isActive ( )
inline
221  {
222  return active;
223  }
boolean active
Definition: DefaultKeycloakTransactionManager.java:40

◆ rollback() [1/2]

void org.keycloak.services.DefaultKeycloakTransactionManager.rollback ( )
inline
168  {
169  if (completed) {
170  return;
171  } else {
172  completed = true;
173  }
174 
175  RuntimeException exception = null;
176  rollback(exception);
177  }
void rollback()
Definition: DefaultKeycloakTransactionManager.java:168
boolean completed
Definition: DefaultKeycloakTransactionManager.java:45

◆ rollback() [2/2]

void org.keycloak.services.DefaultKeycloakTransactionManager.rollback ( RuntimeException  exception)
inlineprotected
179  {
180  for (KeycloakTransaction tx : transactions) {
181  try {
182  tx.rollback();
183  } catch (RuntimeException e) {
184  exception = exception != null ? e : exception;
185  }
186  }
187  for (KeycloakTransaction tx : afterCompletion) {
188  try {
189  tx.rollback();
190  } catch (RuntimeException e) {
191  exception = exception != null ? e : exception;
192  }
193  }
194  active = false;
195  if (exception != null) {
196  throw exception;
197  }
198  }
boolean active
Definition: DefaultKeycloakTransactionManager.java:40
List< KeycloakTransaction > afterCompletion
Definition: DefaultKeycloakTransactionManager.java:39
List< KeycloakTransaction > transactions
Definition: DefaultKeycloakTransactionManager.java:38

◆ setJTAPolicy()

void org.keycloak.services.DefaultKeycloakTransactionManager.setJTAPolicy ( JTAPolicy  policy)
inline
84  {
85  jtaPolicy = policy;
86 
87  }
JTAPolicy jtaPolicy
Definition: DefaultKeycloakTransactionManager.java:43

◆ setRollbackOnly()

void org.keycloak.services.DefaultKeycloakTransactionManager.setRollbackOnly ( )
inline
201  {
202  rollback = true;
203  }
void rollback()
Definition: DefaultKeycloakTransactionManager.java:168

メンバ詳解

◆ active

boolean org.keycloak.services.DefaultKeycloakTransactionManager.active
private

◆ afterCompletion

List<KeycloakTransaction> org.keycloak.services.DefaultKeycloakTransactionManager.afterCompletion = new LinkedList<KeycloakTransaction>()
private

◆ completed

boolean org.keycloak.services.DefaultKeycloakTransactionManager.completed
protected

◆ jtaPolicy

JTAPolicy org.keycloak.services.DefaultKeycloakTransactionManager.jtaPolicy = JTAPolicy.REQUIRES_NEW
private

◆ logger

final Logger org.keycloak.services.DefaultKeycloakTransactionManager.logger = Logger.getLogger(DefaultKeycloakTransactionManager.class)
staticprivate

◆ prepare

List<KeycloakTransaction> org.keycloak.services.DefaultKeycloakTransactionManager.prepare = new LinkedList<KeycloakTransaction>()
private

◆ rollback

boolean org.keycloak.services.DefaultKeycloakTransactionManager.rollback
private

◆ session

KeycloakSession org.keycloak.services.DefaultKeycloakTransactionManager.session
private

◆ transactions

List<KeycloakTransaction> org.keycloak.services.DefaultKeycloakTransactionManager.transactions = new LinkedList<KeycloakTransaction>()
private

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