org.seasar.jca.outbound.policy
クラス ThreadBoundedPoolingPolicy

java.lang.Object
  上位を拡張 org.seasar.jca.outbound.policy.AbstractPolicy
      上位を拡張 org.seasar.jca.outbound.policy.ThreadBoundedPoolingPolicy
すべての実装されたインタフェース:
Serializable, Advice, Interceptor, MethodInterceptor, ConnectionManagementPolicy

public class ThreadBoundedPoolingPolicy
extends AbstractPolicy
implements MethodInterceptor

現在のスレッドにコネクションを割り当てるポリシーの実装クラスです.

このポリシーはMethodInterceptorを実装しています. このインターセプタが適用されたメソッドが実行されている間に割り当てられたマネージドコネクションは, メソッドの実行が終了するまでスレッドに関連づけられます. メソッドの実行が終了すると,関連づけられたマネージドコネクションは解放されます.

作成者:
koichik
関連項目:
直列化された形式

フィールドの概要
protected  ThreadLocal<ManagedConnectionPool<Object>> pools
          スレッドに関連づけられたマネージドコネクション
 
クラス org.seasar.jca.outbound.policy.AbstractPolicy から継承されたフィールド
mcf, needMCF, nextPolicy
 
コンストラクタの概要
ThreadBoundedPoolingPolicy()
          インスタンスを構築します.
 
メソッドの概要
 void after(Set<ManagedConnection> before)
          インターセプタが適用されたメソッドの実行中に割り当てられたコネクションを解放します.
 void allocate(ConnectionManagementContext context)
          コネクションを割り当てます.
 Set<ManagedConnection> before()
          インターセプタが適用されたメソッドの実行開始前に割り当て済みのコネクションのSetを返します.
 Object invoke(MethodInvocation invocation)
           
 void release(ManagedConnection mc)
          コネクションを解放します.
 
クラス org.seasar.jca.outbound.policy.AbstractPolicy から継承されたメソッド
assertValidMCF, connectionErrorOccurred, dispose, initialize, silentRelease
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

pools

protected final ThreadLocal<ManagedConnectionPool<Object>> pools
スレッドに関連づけられたマネージドコネクション

コンストラクタの詳細

ThreadBoundedPoolingPolicy

public ThreadBoundedPoolingPolicy()
インスタンスを構築します.

メソッドの詳細

allocate

public void allocate(ConnectionManagementContext context)
              throws ResourceException
インタフェース ConnectionManagementPolicy の記述:
コネクションを割り当てます.

割り当てられたコネクションはConnectionManagementContextに設定されます.

定義:
インタフェース ConnectionManagementPolicy 内の allocate
オーバーライド:
クラス AbstractPolicy 内の allocate
パラメータ:
context - コネクション管理コンテキスト
例外:
ResourceException - コネクションの割り当て中に例外が発生した場合

release

public void release(ManagedConnection mc)
             throws ResourceException
インタフェース ConnectionManagementPolicy の記述:
コネクションを解放します.

定義:
インタフェース ConnectionManagementPolicy 内の release
オーバーライド:
クラス AbstractPolicy 内の release
パラメータ:
mc - マネージドコネクション
例外:
ResourceException - コネクションの解放中に例外が発生した場合

invoke

public Object invoke(MethodInvocation invocation)
              throws Throwable
定義:
インタフェース MethodInterceptor 内の invoke
例外:
Throwable

before

public Set<ManagedConnection> before()
インターセプタが適用されたメソッドの実行開始前に割り当て済みのコネクションのSetを返します.

戻り値:
インターセプタが適用されたメソッドの実行開始前に割り当て済みのコネクションのSet

after

public void after(Set<ManagedConnection> before)
           throws ResourceException
インターセプタが適用されたメソッドの実行中に割り当てられたコネクションを解放します.

パラメータ:
before - インターセプタが適用されたメソッドの実行開始前に割り当て済みのコネクションのSet
例外:
ResourceException - コネクションの解放中に例外が発生した場合


Copyright © 2005-2010 The Seasar Foundation. All Rights Reserved.