|
intra-mart(R) 5.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object jp.co.intra_mart.common.aid.jdk.java.net.AbstractSocketConnectionDistributor jp.co.intra_mart.common.aid.jdk.java.net.SocketPool
このクラスは、通信ソケットをプールする機能を提供します。
プール機能を利用することにより少ないソケットを複数のプログラムから
利用できるようになります。
このプールは、1つのインスタンスに付き1つの専用スレッドを持ちます。
プールは専用のスレッドにより管理され、一定時間に1つのコネクションが
順に破棄されていきます。したがって、コネクションを全く使用しないまま
長い時間が経過すると、このプール中にプールされているソケット・コネクションは
0個になります。
コンストラクタの概要 | |
SocketPool(String address,
int port)
ソケットプールを構築します。 |
|
SocketPool(String address,
int port,
int capacity)
ソケットプールを構築します。 |
メソッドの概要 | |
void |
addCloseSocketEventListener(SocketEventListener listener)
ソケットをクローズしたイベントを通知するためのリスナーを 設定します。 |
void |
addCreateSocketEventListener(SocketEventListener listener)
ソケットを新規に作成したイベントを通知するためのリスナーを 設定します。 |
void |
clean()
プール中のコネクションをすべて破棄します。 |
SocketConnection |
connection()
コネクションの取得。 |
void |
destroy()
このプールを破棄します。 |
boolean |
eject(SocketConnection connection)
指定コネクションをこのプールの管理から切り離します。 |
protected void |
finalize()
このオブジェクトへの参照はもうないとガーベージコレクションによって 判断されたときに、ガーベージコレクタによって呼び出されます。 |
int |
getCapacity()
コネクション作成最大数の取得。 |
Collection |
getCloseSocketEventListeners()
このプールに登録されている ソケットをクローズしたイベントを通知するためのリスナーを 返します。 |
Collection |
getCreateSocketEventListeners()
このプールに登録されている ソケットを新規に作成したイベントを通知するためのリスナーを 返します。 |
int |
getSize()
このプールが現在管理しているコネクション数です。 |
int |
usableConnection()
現在待機中のコネクションをです。 |
クラス jp.co.intra_mart.common.aid.jdk.java.net.AbstractSocketConnectionDistributor から継承したメソッド |
createSocket, getAddress, getPort |
クラス java.lang.Object から継承したメソッド |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
public SocketPool(String address, int port)
このプールで管理できるソケットコネクションは 1 個になります。
address
- 接続するサーバのアドレスport
- 接続するサーバがサービスを提供しているポートpublic SocketPool(String address, int port, int capacity)
コネクションは動的に生成されます。
capacity 個よりも多くのコネクション要求があった場合、
コネクションが開放されるまで待ち状態になります。
capacity にはプールの性質上、 1 以上の値を指定して下さい。
capacity に 1 より小さな値を指定した場合、プール数は 1 になります。
address
- 接続するサーバのアドレスport
- 接続するサーバがサービスを提供しているポートcapacity
- 接続コネクションの最大数メソッドの詳細 |
public void addCreateSocketEventListener(SocketEventListener listener)
listener
- ソケットイベントリスナーpublic Collection getCreateSocketEventListeners()
public void addCloseSocketEventListener(SocketEventListener listener)
listener
- ソケットイベントリスナーpublic Collection getCloseSocketEventListeners()
public int getCapacity()
SocketConnectionManager
内の getCapacity
public int getSize()
この数は、最小が 0 で最大が getCapacity() メソッドにより得られる値の 間で変動します。
SocketConnectionManager
内の getSize
public int usableConnection()
SocketConnectionManager
内の usableConnection
public SocketConnection connection() throws IOException
プール中にコネクションが待機している場合にはプールの中から 待機中のコネクションを返却します。 プール中にコネクションが存在しない場合には、 新しいコネクションを生成して返します。
SocketConnectionDistributor
内の connection
IOException
- ソケットの接続エラーSocketConnection
public boolean eject(SocketConnection connection)
指定コネクションがこのプールに管理されていたものなら、 このメソッド実行後はこのプールの管理するコネクションが1つ減少するので、 新たにコネクションを作成することができるようになります。
指定のコネクションをこのプールが管理していて他のスレッドによって 使用(connection() メソッドにより取得)されていない場合 true を 返します。指定のコネクションがこのプールにより管理されているもの であった場合でも、他のスレッドにより使用中の場合は false を返します。
connection
- 管理から切り離すコネクション
public void destroy()
SocketConnectionDistributor
内の destroy
public void clean()
SocketConnectionDistributor
内の clean
protected void finalize() throws Throwable
Throwable
|
intra-mart(R) 5.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |