|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.seasar.doma.jdbc.tx.LocalTransaction
org.seasar.doma.jdbc.tx.KeepAliveLocalTransaction
public class KeepAliveLocalTransaction
明示的に破棄されるまでJDBC接続を維持し続けるローカルトランザクションです。
ただし、例外が発生した場合、接続は閉じられます。
このクラスはスレッドセーフです。
KeepAliveLocalTransaction tx = AppConfig.getKeepAliveLocalTransaction();
tx.init();
try {
try {
tx.begin();
Employee employee = dao.selectById(1);
employee.setName("hoge");
employee.setJobType(JobType.PRESIDENT);
dao.update(employee);
tx.commit();
} finally {
tx.rollback();
}
try {
tx.begin();
Employee employee = dao.selectById(2);
employee.setName("foo");
employee.setJobType(JobType.SALESMAN);
dao.update(employee);
tx.commit();
} finally {
tx.rollback();
}
} finally {
tx.destroy();
}
| フィールドの概要 |
|---|
| クラス org.seasar.doma.jdbc.tx.LocalTransaction から継承されたフィールド |
|---|
className, dataSource, defaultTransactionIsolationLevel, jdbcLogger, localTxContextHolder |
| コンストラクタの概要 | |
|---|---|
protected |
KeepAliveLocalTransaction(DataSource dataSource,
ThreadLocal<org.seasar.doma.jdbc.tx.LocalTransactionContext> localTxContextHolder,
JdbcLogger jdbcLogger)
インスタンスを構築します。 |
protected |
KeepAliveLocalTransaction(DataSource dataSource,
ThreadLocal<org.seasar.doma.jdbc.tx.LocalTransactionContext> localTxContextHolder,
JdbcLogger jdbcLogger,
TransactionIsolationLevel defaultTransactionIsolationLevel)
デフォルトのトランザクション分離レベルを指定してインスタンスを構築します。 |
| メソッドの概要 | |
|---|---|
protected org.seasar.doma.jdbc.tx.LocalTransactionContext |
createLocalTransactionContext()
ローカルトランザクションコンテキストを生成します。 |
void |
destroy()
トランザクションコンテキストを破棄します。 |
protected void |
endInternal(org.seasar.doma.jdbc.tx.LocalTransactionContext context,
String callerMethodName)
トランザクションを終了しますがJDBCの接続は閉じません。 |
void |
init()
トランザクションコンテキストを初期化します。 |
protected boolean |
isActiveInternal(org.seasar.doma.jdbc.tx.LocalTransactionContext context)
|
| クラス org.seasar.doma.jdbc.tx.LocalTransaction から継承されたメソッド |
|---|
begin, begin, beginInternal, commit, end, hasSavepoint, isActive, release, releaseSavepoint, rollback, rollback, rollbackInternal, setSavepoint, toString |
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| コンストラクタの詳細 |
|---|
protected KeepAliveLocalTransaction(DataSource dataSource,
ThreadLocal<org.seasar.doma.jdbc.tx.LocalTransactionContext> localTxContextHolder,
JdbcLogger jdbcLogger)
dataSource - データソースlocalTxContextHolder - ローカルトランザクションコンテキストのホルダーjdbcLogger - JDBCに関するロガー
protected KeepAliveLocalTransaction(DataSource dataSource,
ThreadLocal<org.seasar.doma.jdbc.tx.LocalTransactionContext> localTxContextHolder,
JdbcLogger jdbcLogger,
TransactionIsolationLevel defaultTransactionIsolationLevel)
dataSource - データソースlocalTxContextHolder - ローカルトランザクションコンテキストのホルダーjdbcLogger - JDBCに関するロガーdefaultTransactionIsolationLevel - デフォルトのトランザクション分離レベル| メソッドの詳細 |
|---|
public void init()
この操作によりJDBCの接続が確立されます。
このメソッドを呼び出さずに最初の LocalTransaction.begin() を呼び出した場合、その時点でJDBCの接続が確立されます。
JdbcException - JDBCの接続に失敗した場合protected org.seasar.doma.jdbc.tx.LocalTransactionContext createLocalTransactionContext()
LocalTransaction の記述:
LocalTransaction 内の createLocalTransactionContextpublic void destroy()
この操作によりJDBCの接続が閉じられます。
このメソッドは、実行時例外をスローしません。
protected void endInternal(org.seasar.doma.jdbc.tx.LocalTransactionContext context,
String callerMethodName)
LocalTransaction 内の endInternalprotected boolean isActiveInternal(org.seasar.doma.jdbc.tx.LocalTransactionContext context)
LocalTransaction 内の isActiveInternal
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||