|
Woolpack API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectwoolpack.sql.tx.TxBuilder
public class TxBuilder
トランザクションを制御するDataSourceのプロキシと
トランザクションが制御されたDataSourceのプロキシを生成するビルダです。
インタープリタ デザインパターンと組み合わせることにより
業務処理から RDB のトランザクション処理を分離することができます。
トランザクションを制御するプロキシから取得したコネクションで管理されたブロック内では、
トランザクションが制御されたプロキシから取得したコネクションが同一スレッド内で共有されます。
このクラスでは
DataSource.getConnection()をサポートしますが
DataSource.getConnection(String, String)はサポートしません。
このクラスはThreadLocalを使用しています。
このクラスのメソッドは最初に発生した例外を再スローするため、メソッド内で続けて発生した例外の情報は失われます。
適用しているデザインパターン:Thread specific Storage, Proxy, Builder。
| コンストラクタの概要 | |
|---|---|
TxBuilder(javax.sql.DataSource dataSource)
|
|
| メソッドの概要 | |
|---|---|
javax.sql.DataSource |
getDataSource()
|
javax.sql.DataSource |
getTmpDataSource()
DataSource.getConnection()実行時に以前のリソースを閉じます。 |
javax.sql.DataSource |
getTmpDataSource(boolean refreshFlag)
トランザクションが制御された DataSourceのプロキシを返します。 |
javax.sql.DataSource |
getTxDataSource()
Connection.close()ではコミット・ロールバックのいずれのフラグも立っていない時にコミットします。 |
javax.sql.DataSource |
getTxDataSource(boolean defaultCommitFlag)
トランザクションを制御する DataSourceのプロキシを返します。 |
void |
setDataSource(javax.sql.DataSource dataSource)
|
| クラス java.lang.Object から継承されたメソッド |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
|---|
public TxBuilder(javax.sql.DataSource dataSource)
dataSource - RDBに接続するデータソース。| メソッドの詳細 |
|---|
public javax.sql.DataSource getDataSource()
public void setDataSource(javax.sql.DataSource dataSource)
public javax.sql.DataSource getTxDataSource()
Connection.close()ではコミット・ロールバックのいずれのフラグも立っていない時にコミットします。
DataSource。getTxDataSource(boolean)public javax.sql.DataSource getTxDataSource(boolean defaultCommitFlag)
DataSourceのプロキシを返します。
Connection.rollback()ではロールバックのフラグを立てます。
Connection.commit()ではコミットのフラグを立てます。
Connection.close()では
getTmpDataSource(boolean)で作成して開いたままのリソースを全て閉じ、
ロールバックのフラグによってコミットまたはロールバックを実行し、
最後に実際のコネクションを閉じます。
defaultCommitFlag - Connection.close()でコミット・ロールバックのいずれのフラグも立っていない時にコミットするならtrue。
DataSource。public javax.sql.DataSource getTmpDataSource()
DataSource.getConnection()実行時に以前のリソースを閉じます。
DataSource。getTmpDataSource(boolean)public javax.sql.DataSource getTmpDataSource(boolean refreshFlag)
DataSourceのプロキシを返します。
DataSource.getConnection()では
ロールバックのフラグが立っている場合はSQLExceptionを投げ、
初めての呼び出しで実際のコネクションを作成し、
引数が true の場合は以前のリソースを閉じます。
refreshFlag - DataSource.getConnection()実行時に以前のリソースを閉じる場合は true。
DataSource。
|
Woolpack API | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||