|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.seasar.jca.outbound.policy.AbstractPolicy org.seasar.jca.outbound.policy.AbstractTransactionBoundedPoolingPolicy
public abstract class AbstractTransactionBoundedPoolingPolicy
コネクションをトランザクションに関連づけて管理するポリシーの実装クラスです.
フィールドの概要 | |
---|---|
protected boolean |
allowLocalTx
リソースローカルなトランザクションを許可する場合は true |
protected Map<Transaction,ManagedConnectionPool<Object>> |
pools
トランザクションとマネージドコネクションプールのマッピング |
protected TransactionManager |
tm
トランザクションマネージャ |
クラス org.seasar.jca.outbound.policy.AbstractPolicy から継承されたフィールド |
---|
mcf, needMCF, nextPolicy |
コンストラクタの概要 | |
---|---|
AbstractTransactionBoundedPoolingPolicy(TransactionManager tm)
インスタンスを構築します. |
メソッドの概要 | |
---|---|
void |
allocate(ConnectionManagementContext context)
コネクションを割り当てます. |
protected void |
allocateNew(ConnectionManagementContext context,
Transaction tx,
ManagedConnectionPool<Object> pool)
後続のコネクション管理ポリシーから取得したマネージドコネクションをプールします. |
protected void |
allocateUnboundConnection(ConnectionManagementContext context)
スレッドがトランザクションに関連づけられていない場合で,ローカルトランザクションが許可されている場合は,後続のコネクション管理ポリシーからコネクションを割り当てます. |
protected abstract void |
associateTx(Transaction tx,
ManagedConnectionPool<Object> pool,
ConnectionManagementContext context)
コネクションをトランザクションに関連づけます. |
protected void |
checkIn(ManagedConnection mc)
マネージドコネクションをプールに戻します. |
protected void |
checkOut(ConnectionManagementContext context)
コネクションをチェックアウトします. |
void |
connectionErrorOccurred(ManagedConnection mc)
コネクションエラーが発生した場合に呼び出されます. |
protected ManagedConnectionPool<Object> |
getPool(Transaction tx,
boolean create)
現在のトランザクションに関連づけられたマネージドコネクションのプールを返します. |
boolean |
isAllowLocalTx()
リソースローカルなトランザクションが許可されている場合は true を返します. |
protected void |
registerContext(Transaction tx)
現在のトランザクションにマネージドコネクションのプールを関連づけます. |
void |
release(ManagedConnection mc)
コネクションを解放します. |
protected void |
releaseContext(Transaction tx)
現在のトランザクションに関連づけられているマネージドコネクションのプールをクローズします. |
void |
setAllowLocalTx(boolean allowLocalTx)
リソースローカルなトランザクションが許可されている場合は true を設定します. |
クラス org.seasar.jca.outbound.policy.AbstractPolicy から継承されたメソッド |
---|
assertValidMCF, dispose, initialize, silentRelease |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected final Map<Transaction,ManagedConnectionPool<Object>> pools
protected final TransactionManager tm
protected boolean allowLocalTx
true
コンストラクタの詳細 |
---|
public AbstractTransactionBoundedPoolingPolicy(TransactionManager tm)
tm
- トランザクションマネージャメソッドの詳細 |
---|
public void allocate(ConnectionManagementContext context) throws ResourceException
ConnectionManagementPolicy
の記述:
割り当てられたコネクションはConnectionManagementContext
に設定されます.
ConnectionManagementPolicy
内の allocate
AbstractPolicy
内の allocate
context
- コネクション管理コンテキスト
ResourceException
- コネクションの割り当て中に例外が発生した場合public void release(ManagedConnection mc) throws ResourceException
ConnectionManagementPolicy
の記述:
ConnectionManagementPolicy
内の release
AbstractPolicy
内の release
mc
- マネージドコネクション
ResourceException
- コネクションの解放中に例外が発生した場合public void connectionErrorOccurred(ManagedConnection mc) throws ResourceException
ConnectionManagementPolicy
の記述: エラーが発生したコネクションをキャッシュしているポリシーはコネクションを破棄します.
ConnectionManagementPolicy
内の connectionErrorOccurred
AbstractPolicy
内の connectionErrorOccurred
mc
- エラーが発生したマネージドコネクション
ResourceException
- 処理中にエラーが発生した場合protected void checkOut(ConnectionManagementContext context) throws ResourceException
現在のトランザクションにマネージドコネクションが割り当てられていれば,それをコネクション管理コンテキストに設定します. それ以外の場合は後続のコネクション管理ポリシーからコネクションを割り当てます.
context
- コネクション管理ポリシー
ResourceException
- コネクションのチェックアウト中に例外が発生した場合protected void allocateUnboundConnection(ConnectionManagementContext context) throws ResourceException
context
- コネクション管理ポリシー
ResourceException
- コネクションの割り当て中に例外が発生した場合protected void allocateNew(ConnectionManagementContext context, Transaction tx, ManagedConnectionPool<Object> pool) throws ResourceException
context
- コネクション管理ポリシーtx
- トランザクションpool
- マネージドコネクションのプール
ResourceException
- コネクションの取得中に例外が発生した場合protected abstract void associateTx(Transaction tx, ManagedConnectionPool<Object> pool, ConnectionManagementContext context) throws ResourceException
tx
- トランザクションpool
- マネージドコネクションのプールcontext
- コネクション管理コンテキスト
ResourceException
- 関連づけ中に例外が発生した場合protected void checkIn(ManagedConnection mc) throws ResourceException
現在のトランザクションにプールが関連づけられていない場合は後続のコネクション管理ポリシーに返します.
mc
- マネージドコネクション
ResourceException
- チェックイン中に例外が発生した場合protected ManagedConnectionPool<Object> getPool(Transaction tx, boolean create)
tx
- トランザクションcreate
- 現在のトランザクションにプールがまだ関連づけられていない場合に新たにプールを作成する場合はtrue
protected void registerContext(Transaction tx) throws IllegalStateException, RollbackException, SystemException
tx
- トランザクション
IllegalStateException
- 例外が発生した場合
RollbackException
- 例外が発生した場合
SystemException
- 例外が発生した場合protected void releaseContext(Transaction tx)
tx
- トランザクションpublic boolean isAllowLocalTx()
true
を返します.
true
public void setAllowLocalTx(boolean allowLocalTx)
true
を設定します.
allowLocalTx
- リソースローカルなトランザクションが許可されている場合はtrue
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |