|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object org.seasar.jca.outbound.policy.AbstractPolicy org.seasar.jca.outbound.policy.BasicPoolingPolicy
public class BasicPoolingPolicy
単純にコネクションをプールするポリシーの実装クラスです.
入れ子のクラスの概要 | |
---|---|
class |
BasicPoolingPolicy.ExpireTask
アイドリング状態のままタイムアウト時間が経過したコネクションをクローズする TimerTask の実装クラスです. |
フィールドの概要 | |
---|---|
protected BootstrapContext |
bc
ブートストラップコンテキスト |
protected Object |
lock
プールの同期オブジェクト |
protected int |
maxPoolSize
プールするコネクションの最大値 |
protected int |
minPoolSize
プールするコネクションの最小値 |
protected ManagedConnectionPool<BasicPoolingPolicy.ExpireTask> |
pool
コネクションプール |
protected int |
timeout
アイドル状態のコネクションを開放するまでの時間 (秒単位) |
protected static Timer |
timer
アイドル状態のコネクションを解放するためのタイマ |
クラス org.seasar.jca.outbound.policy.AbstractPolicy から継承されたフィールド |
---|
mcf, needMCF, nextPolicy |
コンストラクタの概要 | |
---|---|
BasicPoolingPolicy(BootstrapContext bc)
インスタンスを構築します. |
メソッドの概要 | |
---|---|
void |
allocate(ConnectionManagementContext context)
コネクションを割り当てます. |
protected ManagedConnection |
allocateFromFreePool(ConnectionManagementContext context)
未使用のプールからマネージドコネクションを割り当てます. |
protected boolean |
checkIn(ManagedConnection mc)
マネージドコネクションを未使用コネクションのプールにチェックインします. |
protected void |
checkOut(ConnectionManagementContext context)
プールからマネージドコネクションをチェックアウトします. |
void |
connectionErrorOccurred(ManagedConnection mc)
コネクションエラーが発生した場合に呼び出されます. |
protected static void |
createTimer(BootstrapContext bc)
タイマを作成して返します. |
void |
dispose()
コネクション管理ポリシーを破棄します. |
int |
getMaxPoolSize()
プールするコネクションの最大値を返します. |
int |
getMinPoolSize()
プールするコネクションの最小値を返します. |
int |
getTimeout()
アイドル状態のコネクションを開放するまでの時間 (秒単位) を返します. |
void |
initialize(ManagedConnectionFactory mcf,
ConnectionManagementPolicy nextPolicy)
コネクション管理ポリシーを初期化します. |
protected boolean |
isFreePoolFull()
プールされている未使用コネクションの数が最大値に達している場合は true を返します. |
protected boolean |
isFull()
プールされているコネクションの数が最大値に達している場合は true を返します. |
protected void |
purge(ManagedConnection mc)
マネージドコネクションをプールから破棄します. |
void |
release(ManagedConnection mc)
コネクションを解放します. |
protected void |
releaseFirstFromFree()
未使用コネクションのプールから先頭のコネクションを解放します. |
void |
setMaxPoolSize(int maxPoolSize)
プールするコネクションの最大値を設定します. |
void |
setMinPoolSize(int minPoolSize)
プールするコネクションの最小値を設定します. |
void |
setTimeout(int timeout)
アイドル状態のコネクションを開放するまでの時間 (秒単位) を設定します. |
protected void |
waitForFreePool()
プールに空きができるまで待機します. |
クラス org.seasar.jca.outbound.policy.AbstractPolicy から継承されたメソッド |
---|
assertValidMCF, silentRelease |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected static Timer timer
protected int minPoolSize
protected int maxPoolSize
protected int timeout
protected final BootstrapContext bc
protected final Object lock
protected ManagedConnectionPool<BasicPoolingPolicy.ExpireTask> pool
コンストラクタの詳細 |
---|
public BasicPoolingPolicy(BootstrapContext bc) throws ResourceException
bc
- ブートストラップコンテキスト
ResourceException
- インスタンスの構築中に例外が発生した場合メソッドの詳細 |
---|
public void initialize(ManagedConnectionFactory mcf, ConnectionManagementPolicy nextPolicy) throws ResourceException
ConnectionManagementPolicy
の記述:
ConnectionManagementPolicy
内の initialize
AbstractPolicy
内の initialize
mcf
- マネージドコネクションファクトリnextPolicy
- 後続のポリシー
ResourceException
- コネクション管理ポリシーの初期渦中に例外が発生した場合protected static void createTimer(BootstrapContext bc) throws UnavailableException
bc
- ブートストラップコンテキスト
UnavailableException
- タイマの作成中に例外が発生した場合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
- 処理中にエラーが発生した場合public void dispose()
ConnectionManagementPolicy
の記述:
ConnectionManagementPolicy
内の dispose
AbstractPolicy
内の dispose
protected boolean isFull()
true
を返します.
true
protected boolean isFreePoolFull()
true
を返します.
true
protected void checkOut(ConnectionManagementContext context) throws ResourceException
context
- コネクション管理コンテキスト
ResourceException
- コネクションのチェックアウト中に例外が発生した場合protected void waitForFreePool() throws ResourceException
ResourceException
- 待機中に例外が発生した場合protected ManagedConnection allocateFromFreePool(ConnectionManagementContext context) throws ResourceException
context
- コネクション管理コンテキスト
ResourceException
- 割り当てられたマネージドコネクションprotected void releaseFirstFromFree() throws ResourceException
ResourceException
- コネクションの解放中に例外が発生した場合protected boolean checkIn(ManagedConnection mc)
プールしているコネクションが最大値に達している場合はマネージドコネクションを後続のコネクション管理ポリシーに渡します.
mc
- マネージドコネクション
true
protected void purge(ManagedConnection mc)
mc
- マネージドコネクションpublic int getMinPoolSize()
public void setMinPoolSize(int minPoolSize)
minPoolSize
- プールするコネクションの最小値public int getMaxPoolSize()
public void setMaxPoolSize(int maxPoolSize)
maxPoolSize
- プールするコネクションの最大値public int getTimeout()
public void setTimeout(int timeout)
timeout
- アイドル状態のコネクションを開放するまでの時間 (秒単位)
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |