|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectorg.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 内の initializeAbstractPolicy 内の initializemcf - マネージドコネクションファクトリnextPolicy - 後続のポリシー
ResourceException - コネクション管理ポリシーの初期渦中に例外が発生した場合
protected static void createTimer(BootstrapContext bc)
throws UnavailableException
bc - ブートストラップコンテキスト
UnavailableException - タイマの作成中に例外が発生した場合
public void allocate(ConnectionManagementContext context)
throws ResourceException
ConnectionManagementPolicy の記述:
割り当てられたコネクションはConnectionManagementContextに設定されます.
ConnectionManagementPolicy 内の allocateAbstractPolicy 内の allocatecontext - コネクション管理コンテキスト
ResourceException - コネクションの割り当て中に例外が発生した場合
public void release(ManagedConnection mc)
throws ResourceException
ConnectionManagementPolicy の記述:
ConnectionManagementPolicy 内の releaseAbstractPolicy 内の releasemc - マネージドコネクション
ResourceException - コネクションの解放中に例外が発生した場合
public void connectionErrorOccurred(ManagedConnection mc)
throws ResourceException
ConnectionManagementPolicy の記述: エラーが発生したコネクションをキャッシュしているポリシーはコネクションを破棄します.
ConnectionManagementPolicy 内の connectionErrorOccurredAbstractPolicy 内の connectionErrorOccurredmc - エラーが発生したマネージドコネクション
ResourceException - 処理中にエラーが発生した場合public void dispose()
ConnectionManagementPolicy の記述:
ConnectionManagementPolicy 内の disposeAbstractPolicy 内の disposeprotected boolean isFull()
trueを返します.
trueprotected 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 - マネージドコネクション
trueprotected 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 - アイドル状態のコネクションを開放するまでの時間 (秒単位)
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||