|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectokuyama.imdst.client.OkuyamaClientFactory
public class OkuyamaClientFactory
OkuyamaClient用のコネクションプール.
本クラスを利用してOkuyamaClientの管理を行うことで、
Clientのプーリングが行われ、接続のコスト削減につながる.
利用方法)
// MasterNodeの接続情報を作成して、OkuyamaClientFactory.getFactoryに渡すことでコネクションプールを取得
// ここで取得されるインスタンスはシングルトンとなり全てのスレッドで唯一となる
// スレッド毎に新しいFactoryを利用したい場合はgetNewFactoryメソッドを利用する
String[] masterNodes = {"192.168.1.1:8888","192.168.1.2:8888"};
OkuyamaClientFactory factory = OkuyamaClientFactory.getFactory(masterNodes, 20);
// プールからClientを取得
OkuyamaClient okuyamaClient = factory.getClient();
// 以降は通常のOkuyamaClientの利用方法と同様
String[] getResult = okuyamaClient.getValue("Key-XXXX");
if (getResult[0].equals("true")) {
System.out.println(getResult[1]);
}
// close()を呼び出すことでコネクションプールに返却される
okuyamaClient.close();
// アプリケーションそのものを終了する際は以下でFactoryを終了させて全てのコネクションを破棄する
// 終了後も再度getFactoryを呼び出せば新たにfactoryが再生成される
factory.shutdown();
フィールドの概要 | |
---|---|
static java.util.concurrent.ConcurrentHashMap |
factoryMap
|
static java.lang.Object |
lock
|
メソッドの概要 | |
---|---|
OkuyamaClient |
getClient()
OkuyamaClientを取得する. |
OkuyamaClient |
getClient(boolean noCheck)
OkuyamaClientを取得する. |
OkuyamaClient |
getClient(boolean noCheck,
int checkMilliSeconde)
OkuyamaClientを取得する. |
OkuyamaClient |
getClient(int checkMilliSeconde)
OkuyamaClientを取得する. |
static OkuyamaClientFactory |
getFactory(java.lang.String[] masterNodeInfos,
int maxClients)
OkuyamaClientのプールを取得する. |
static OkuyamaClientFactory |
getFactory(java.lang.String[] masterNodeInfos,
int maxClients,
int connectionTimeout)
OkuyamaClientのプールを取得する. |
static OkuyamaClientFactory |
getNewFactory(java.lang.String[] masterNodeInfos,
int maxClients)
OkuyamaClientのプールを取得する. |
static OkuyamaClientFactory |
getNewFactory(java.lang.String[] masterNodeInfos,
int maxClients,
int connectionTimeout)
OkuyamaClientのプールを取得する. |
void |
shutdown()
Factoryを停止します. |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
public static java.lang.Object lock
public static java.util.concurrent.ConcurrentHashMap factoryMap
メソッドの詳細 |
---|
public static OkuyamaClientFactory getFactory(java.lang.String[] masterNodeInfos, int maxClients) throws OkuyamaClientException
masterNodeInfos
- 接続するMasterNodeの情報maxClients
- 作成されるコネクションプール上でプーリングされる最大数
OkuyamaClientException
- MasterNodeの指定間違いpublic static OkuyamaClientFactory getFactory(java.lang.String[] masterNodeInfos, int maxClients, int connectionTimeout) throws OkuyamaClientException
masterNodeInfos
- 接続するMasterNodeの情報maxClients
- 作成されるコネクションプール上でプーリングされる最大数connectionTimeout
- OkuyamaClientのリクエスト時のタイムアウト時間をミリ秒で指定
OkuyamaClientException
- MasterNodeの指定間違いpublic static OkuyamaClientFactory getNewFactory(java.lang.String[] masterNodeInfos, int maxClients) throws OkuyamaClientException
masterNodeInfos
- 接続するMasterNodeの情報maxClients
- 作成されるコネクションプール上でプーリングされる最大数
OkuyamaClientException
- MasterNodeの指定間違いpublic static OkuyamaClientFactory getNewFactory(java.lang.String[] masterNodeInfos, int maxClients, int connectionTimeout) throws OkuyamaClientException
masterNodeInfos
- 接続するMasterNodeの情報maxClients
- 作成されるコネクションプール上でプーリングされる最大数connectionTimeout
- OkuyamaClientのリクエスト時のタイムアウト時間をミリ秒で指定
OkuyamaClientException
- MasterNodeの指定間違いpublic OkuyamaClient getClient() throws OkuyamaClientException
OkuyamaClientException
- 有効なOkuyamaClientの返却に失敗public OkuyamaClient getClient(int checkMilliSeconde) throws OkuyamaClientException
checkMilliSeconde
- 最後にプールから取り出てからここで指定した時間(ミリ秒)だけ経過しているOkuyamaClientException
- 有効なOkuyamaClientの返却に失敗public OkuyamaClient getClient(boolean noCheck) throws OkuyamaClientException
OkuyamaClientException
- 有効なOkuyamaClientの返却に失敗public OkuyamaClient getClient(boolean noCheck, int checkMilliSeconde) throws OkuyamaClientException
noCheck
- チェックしない場合はtruecheckMilliSeconde
- 最後にプールから取り出てからここで指定した時間(ミリ秒)だけ経過しているOkuyamaClientException
- 有効なOkuyamaClientの返却に失敗public void shutdown()
client
-
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |