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