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

公開メンバ関数

 JtaTransactionWrapper (KeycloakSessionFactory factory, TransactionManager tm)
 
void handleException (Throwable e)
 
void begin ()
 
void commit ()
 
void rollback ()
 
void setRollbackOnly ()
 
boolean getRollbackOnly ()
 
boolean isActive ()
 

限定公開メンバ関数

void end ()
 

限定公開変数類

TransactionManager tm
 
Transaction ut
 
Transaction suspended
 
Exception ended
 
KeycloakSessionFactory factory
 

静的非公開変数類

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

詳解

著者
Bill Burke
バージョン
Revision
1

構築子と解体子

◆ JtaTransactionWrapper()

org.keycloak.transaction.JtaTransactionWrapper.JtaTransactionWrapper ( KeycloakSessionFactory  factory,
TransactionManager  tm 
)
inline
42  {
43  this.tm = tm;
44  this.factory = factory;
45  try {
46 
47  suspended = tm.suspend();
48  logger.debug("new JtaTransactionWrapper");
49  logger.debugv("was existing? {0}", suspended != null);
50  tm.begin();
51  ut = tm.getTransaction();
52  //ended = new Exception();
53  } catch (Exception e) {
54  throw new RuntimeException(e);
55  }
56  }
Transaction ut
Definition: JtaTransactionWrapper.java:37
TransactionManager tm
Definition: JtaTransactionWrapper.java:36
Transaction suspended
Definition: JtaTransactionWrapper.java:38
static final Logger logger
Definition: JtaTransactionWrapper.java:35
KeycloakSessionFactory factory
Definition: JtaTransactionWrapper.java:40

関数詳解

◆ begin()

void org.keycloak.transaction.JtaTransactionWrapper.begin ( )
inline

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

85  {
86  }

◆ commit()

void org.keycloak.transaction.JtaTransactionWrapper.commit ( )
inline

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

89  {
90  try {
91  logger.debug("JtaTransactionWrapper commit");
92  tm.commit();
93  } catch (Exception e) {
94  handleException(e);
95  } finally {
96  end();
97  }
98  }
void handleException(Throwable e)
Definition: JtaTransactionWrapper.java:58
TransactionManager tm
Definition: JtaTransactionWrapper.java:36
static final Logger logger
Definition: JtaTransactionWrapper.java:35
void end()
Definition: JtaTransactionWrapper.java:152

◆ end()

void org.keycloak.transaction.JtaTransactionWrapper.end ( )
inlineprotected
152  {
153  ended = null;
154  logger.debug("JtaTransactionWrapper end");
155  if (suspended != null) {
156  try {
157  logger.debug("JtaTransactionWrapper resuming suspended");
158  tm.resume(suspended);
159  } catch (Exception e) {
160  throw new RuntimeException(e);
161  }
162  }
163 
164  }
Exception ended
Definition: JtaTransactionWrapper.java:39
TransactionManager tm
Definition: JtaTransactionWrapper.java:36
Transaction suspended
Definition: JtaTransactionWrapper.java:38
static final Logger logger
Definition: JtaTransactionWrapper.java:35

◆ getRollbackOnly()

boolean org.keycloak.transaction.JtaTransactionWrapper.getRollbackOnly ( )
inline

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

123  {
124  try {
125  return tm.getStatus() == Status.STATUS_MARKED_ROLLBACK;
126  } catch (Exception e) {
127  handleException(e);
128  }
129  return false;
130  }
void handleException(Throwable e)
Definition: JtaTransactionWrapper.java:58
TransactionManager tm
Definition: JtaTransactionWrapper.java:36

◆ handleException()

void org.keycloak.transaction.JtaTransactionWrapper.handleException ( Throwable  e)
inline
58  {
59  if (e instanceof RollbackException) {
60  e = e.getCause() != null ? e.getCause() : e;
61  }
62 
63  for (ProviderFactory factory : this.factory.getProviderFactories(ExceptionConverter.class)) {
64  ExceptionConverter converter = (ExceptionConverter)factory;
65  Throwable throwable = converter.convert(e);
66  if (throwable == null) continue;
67  if (throwable instanceof RuntimeException) {
68  throw (RuntimeException)throwable;
69  } else {
70  throw new RuntimeException(throwable);
71  }
72  }
73 
74  if (e instanceof RuntimeException) {
75  throw (RuntimeException)e;
76  } else {
77  throw new RuntimeException(e);
78  }
79 
80 
81 
82  }
List< ProviderFactory > getProviderFactories(Class<? extends Provider > clazz)
KeycloakSessionFactory factory
Definition: JtaTransactionWrapper.java:40

◆ isActive()

boolean org.keycloak.transaction.JtaTransactionWrapper.isActive ( )
inline

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

133  {
134  try {
135  return tm.getStatus() == Status.STATUS_ACTIVE;
136  } catch (Exception e) {
137  handleException(e);
138  }
139  return false;
140  }
void handleException(Throwable e)
Definition: JtaTransactionWrapper.java:58
TransactionManager tm
Definition: JtaTransactionWrapper.java:36

◆ rollback()

void org.keycloak.transaction.JtaTransactionWrapper.rollback ( )
inline

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

101  {
102  try {
103  logger.debug("JtaTransactionWrapper rollback");
104  tm.rollback();
105  } catch (Exception e) {
106  handleException(e);
107  } finally {
108  end();
109  }
110 
111  }
void handleException(Throwable e)
Definition: JtaTransactionWrapper.java:58
TransactionManager tm
Definition: JtaTransactionWrapper.java:36
static final Logger logger
Definition: JtaTransactionWrapper.java:35
void end()
Definition: JtaTransactionWrapper.java:152

◆ setRollbackOnly()

void org.keycloak.transaction.JtaTransactionWrapper.setRollbackOnly ( )
inline

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

114  {
115  try {
116  tm.setRollbackOnly();
117  } catch (Exception e) {
118  handleException(e);
119  }
120  }
void handleException(Throwable e)
Definition: JtaTransactionWrapper.java:58
TransactionManager tm
Definition: JtaTransactionWrapper.java:36

メンバ詳解

◆ ended

Exception org.keycloak.transaction.JtaTransactionWrapper.ended
protected

◆ factory

KeycloakSessionFactory org.keycloak.transaction.JtaTransactionWrapper.factory
protected

◆ logger

final Logger org.keycloak.transaction.JtaTransactionWrapper.logger = Logger.getLogger(JtaTransactionWrapper.class)
staticprivate

◆ suspended

Transaction org.keycloak.transaction.JtaTransactionWrapper.suspended
protected

◆ tm

TransactionManager org.keycloak.transaction.JtaTransactionWrapper.tm
protected

◆ ut

Transaction org.keycloak.transaction.JtaTransactionWrapper.ut
protected

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