|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectokuyama.imdst.client.OkuyamaClient
public class OkuyamaClient
MasterNodeと通信を行うクライアント
ユーザ開発アプリケーションが利用する想定.
使い方)
// Create Okuyama Client Instance
OkuyamaClient okuyamaClient = new OkuyamaClient();
try {
// --------------
// Connecting MasterNode
okuyamaClient.connect(args[1], port);
// Multi MasterNode
// String[] infos = {"MasterNode01:PortNo","MasterNode02:PortNo","MasterNode03:PortNo"};
// okuyamaClient.setConnectionInfos(infos);
// okuyamaClient.autoConnect();
// --------------
// Set Value
if (okuyamaClient.setValue("datasavekey_001", "savedatavalue_001")) {
System.out.println("setValue - Success");
} else {
System.out.println("setValue - Error");
}
// --------------
// Get Value
String[] getRet = okuyamaClient.getValue("datasavekey_001");
if (getRet[0].equals("true")) {
// Data exists
// Value is displayed
System.out.println(ret[1]);
} else if (getRet[0].equals("false")) {
// Data not found
} else if (getRet[0].equals("error")) {
// Server error
// ErrorMessage is displayed
System.out.println(ret[1]);
}
// --------------
// Set Value & Tag
String[] tags = {"tag1", "tag2"};
if (!okuyamaClient.setValue("datasavekey_001", tags, "savedatavalue_001")) {
System.out.println("setValue - Error");
} else {
System.out.println("setValue - Success");
}
// --------------
// Tag Get
Object[] ret = okuyamaClient.getTagKeys("tag1");
if (ret[0].equals("true")) {
// Data exists
String[] keys = (String[])ret[1];
for (int idx = 0; idx < keys.length; idx++) {
// Key is displayed
System.out.println(keys[idx]);
}
} else if (ret[0].equals("false")) {
// Data not found
} else if (ret[0].equals("error")) {
// Server error
// ErrorMessage is displayed
System.out.println(ret[1]);
}
// --------------
// Remove Data
String[] ret = okuyamaClient.removeValue("datasavekey_001");
if (ret[0].equals("true")) {
// Remove success
// Removed data is displayed
System.out.println(ret[1]);
} else if (ret[0].equals("false")) {
// Data not found
} else if (ret[0].equals("error")) {
// Server error
// ErrorMessage is displayed
System.out.println(ret[1]);
}
// --------------
// Add New Value
String[] retParam = okuyamaClient.setNewValue("NewKey", "value999");
if(retParam[0].equals("false")) {
// Register Error
System.out.println(retParam[1]);
} else {
System.out.println("Register Success");
}
} catch (OkuyamaClientException oce) {
oce.printStackTrace();
} finally {
try {
// --------------
// Close
okuyamaClient.close();
} catch (OkuyamaClientException oce2) {
oce2.printStackTrace();
okuyamaClient = null;
}
}
フィールドの概要 | |
---|---|
protected static java.lang.String |
blankStr
|
protected java.io.BufferedReader |
br
|
protected static java.lang.String |
byteDataKeysSep
|
protected boolean |
compressMode
|
protected static java.lang.String |
connectDefaultEncoding
|
protected static java.lang.String |
connectExitStr
|
protected java.lang.StringBuilder |
getValueServerReqBuf
|
protected java.util.ArrayList |
masterNodesList
|
protected int |
maxKeySize
|
protected int |
maxValueSize
|
protected java.lang.String |
nowConnectServerInfo
|
protected java.io.PrintWriter |
pw
|
protected int |
saveSize
|
protected static java.lang.String |
sepStr
|
protected java.lang.StringBuilder |
setValueServerReqBuf
|
protected java.net.Socket |
socket
|
protected static java.lang.String |
tagKeySep
|
protected java.lang.String |
transactionCode
|
コンストラクタの概要 | |
---|---|
OkuyamaClient()
コンストラクタ |
メソッドの概要 | |
---|---|
void |
autoConnect()
設定されたMasterNodeの接続情報を元に自動的に接続を行う. |
void |
close()
MasterNodeとの接続を切断. |
void |
connect(java.lang.String server,
int port)
接続処理. |
void |
connect(java.lang.String server,
int port,
java.lang.String encoding)
接続処理. |
void |
connect(java.lang.String server,
int port,
java.lang.String encoding,
int openTimeout,
int connectionTimeout)
接続処理. |
protected byte[] |
dataDecoding(byte[] datas)
|
protected byte[] |
dataEncoding(byte[] datas)
|
java.lang.Object[] |
decrValue(java.lang.String keyStr,
long value)
MasterNodeへデータの減算を要求する. |
void |
endTransaction()
Transactionを終了する. |
protected byte[] |
execCompress(byte[] bytes)
|
protected byte[] |
execDecompres(byte[] bytes)
|
protected java.lang.Object[] |
getByteData(java.lang.String keyStr)
MasterNodeからKeyでデータを取得する(バイナリ). |
java.lang.Object[] |
getByteValue(java.lang.String keyStr)
MasterNodeからKeyでValueを取得する(バイナリ). |
java.lang.Object[] |
getByteValueVer2(java.lang.String keyStr)
MasterNodeからKeyでValueを取得する(バイナリ). |
java.util.Map |
getMultiValue(java.lang.String[] keyStrList)
MasterNodeからKey値の配列を渡すことでValue値の集合を取得する. |
java.util.Map |
getMultiValue(java.lang.String[] keyStrList,
java.lang.String encoding)
MasterNodeからKey値の配列を渡すことでValue値の集合を取得する. |
protected java.lang.String |
getNowTransactionCode()
トランザクションを開始している場合、自身のトランザクションを一意に表す コードを返す. |
java.lang.Object[] |
getTagKeys(java.lang.String tagStr)
MasterNodeからTagでKey値配列を取得する. |
java.lang.Object[] |
getTagKeys(java.lang.String tagStr,
boolean noExistsData)
MasterNodeからTagでKey値配列を取得する. |
java.util.Map |
getTagValues(java.lang.String tagStr)
MasterNodeからTag値を渡すことで紐付くValue値の集合を取得する. |
java.util.Map |
getTagValues(java.lang.String tagStr,
java.lang.String encoding)
MasterNodeからTag値を渡すことで紐付くValue値の集合を取得する. |
java.lang.String[] |
getValue(java.lang.String keyStr)
MasterNodeからKeyでValueを取得する. |
java.lang.String[] |
getValue(java.lang.String keyStr,
java.lang.String encoding)
MasterNodeからKeyでValueを取得する. |
java.lang.String[] |
getValueScript(java.lang.String keyStr,
java.lang.String scriptStr)
MasterNodeからKeyでValueを取得する. |
java.lang.String[] |
getValueScript(java.lang.String keyStr,
java.lang.String scriptStr,
java.lang.String encoding)
MasterNodeからKeyでデータを取得する. |
java.lang.String[] |
getValueScriptForUpdate(java.lang.String keyStr,
java.lang.String scriptStr)
MasterNodeからKeyでValueを取得する. |
java.lang.String[] |
getValueScriptForUpdate(java.lang.String keyStr,
java.lang.String scriptStr,
java.lang.String encoding)
MasterNodeからKeyでデータを取得する. |
java.lang.String[] |
getValueVersionCheck(java.lang.String keyStr)
MasterNodeからKeyでValueを取得する. |
java.lang.String[] |
getValueVersionCheck(java.lang.String keyStr,
java.lang.String encoding)
MasterNodeからKeyでValueを取得する. |
java.lang.Object[] |
incrValue(java.lang.String keyStr,
long value)
MasterNodeへデータの加算を要求する. |
boolean |
initClient()
Clientを初期化する. |
java.lang.String[] |
lockData(java.lang.String keyStr,
int lockingTime,
int waitLockTime)
データのLockを依頼する. |
java.lang.Object[] |
readByteValue(java.lang.String keyStr)
MasterNodeからKeyでデータを取得する(バイナリ). |
java.lang.String[] |
releaseLockData(java.lang.String keyStr)
データのLock解除を依頼する. |
java.lang.String[] |
removeValue(java.lang.String keyStr)
MasterNodeからKeyでValueを削除する. |
java.lang.String[] |
removeValue(java.lang.String keyStr,
java.lang.String encoding)
MasterNodeからKeyでデータを削除する. |
boolean |
sendByteValue(java.lang.String keyStr,
byte[] values)
MasterNodeへデータを送信する(バイナリデータ). |
boolean |
setByteValue(java.lang.String keyStr,
byte[] values)
MasterNodeへデータを登録要求する(バイナリデータ). |
boolean |
setByteValue(java.lang.String keyStr,
java.lang.String[] tagStrs,
byte[] values)
MasterNodeへデータを登録要求する(バイナリデータ). |
void |
setCompressMode(boolean flg)
データ保存時の圧縮指定. |
void |
setConnectionInfos(java.lang.String[] masterNodes)
MasterNodeの接続情報を設定する. |
java.lang.String[] |
setNewValue(java.lang.String keyStr,
java.lang.String value)
MasterNodeへ新規データを登録要求する. |
java.lang.String[] |
setNewValue(java.lang.String keyStr,
java.lang.String[] tagStrs,
java.lang.String value)
MasterNodeへ新規データを登録要求する. |
protected void |
setNowTransactionCode(java.lang.String transactionCode)
他のクライアントが実施しているトランザクションコードを設定することで、 トランザクション処理を引き継ぐことが出来る。 |
boolean |
setValue(java.lang.String keyStr,
java.lang.String value)
MasterNodeへデータを登録要求する. |
boolean |
setValue(java.lang.String keyStr,
java.lang.String[] tagStrs,
java.lang.String value)
MasterNodeへデータを登録要求する. |
java.lang.String[] |
setValueVersionCheck(java.lang.String keyStr,
java.lang.String[] tagStrs,
java.lang.String value,
java.lang.String versionNo)
MasterNodeへバージョンチェック付き値登録要求をする. |
java.lang.String[] |
setValueVersionCheck(java.lang.String keyStr,
java.lang.String value,
java.lang.String versionNo)
MasterNodeへバージョンチェック付き値登録要求をする. |
boolean |
startTransaction()
Transactionを開始する. |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
protected java.util.ArrayList masterNodesList
protected java.net.Socket socket
protected java.lang.String nowConnectServerInfo
protected java.io.PrintWriter pw
protected java.io.BufferedReader br
protected java.lang.String transactionCode
protected static final java.lang.String sepStr
protected static final java.lang.String connectDefaultEncoding
protected static final java.lang.String blankStr
protected static final java.lang.String connectExitStr
protected static final java.lang.String tagKeySep
protected static final java.lang.String byteDataKeysSep
protected int saveSize
protected int maxValueSize
protected int maxKeySize
protected boolean compressMode
protected java.lang.StringBuilder setValueServerReqBuf
protected java.lang.StringBuilder getValueServerReqBuf
コンストラクタの詳細 |
---|
public OkuyamaClient()
メソッドの詳細 |
---|
public void setCompressMode(boolean flg)
flg
- true:圧縮 false:非圧縮public void setConnectionInfos(java.lang.String[] masterNodes)
masterNodes
- 接続情報の配列 "IP:PORT"の形式public void autoConnect() throws OkuyamaClientException
masterNodes
- 接続情報の配列 "IP:PORT"の形式
OkuyamaClientException
public void connect(java.lang.String server, int port) throws OkuyamaClientException
server
- サーバ名port
- ポート番号
OkuyamaClientException
public void connect(java.lang.String server, int port, java.lang.String encoding) throws OkuyamaClientException
server
- サーバ名port
- ポート番号
OkuyamaClientException
public void connect(java.lang.String server, int port, java.lang.String encoding, int openTimeout, int connectionTimeout) throws OkuyamaClientException
server
- サーバ名port
- ポート番号encoding
- サーバとのストリームエンコーディング指定(デフォルトUTF-8)
OkuyamaClientException
public void close() throws OkuyamaClientException
OkuyamaClientException
public boolean initClient() throws OkuyamaClientException
OkuyamaClientException
public boolean startTransaction() throws OkuyamaClientException
OkuyamaClientException
public void endTransaction()
public java.lang.String[] lockData(java.lang.String keyStr, int lockingTime, int waitLockTime) throws OkuyamaClientException
keyStr
- ロック対象のKey値lockingTime
- Lockを取得後、維持する時間(この時間を経過すると自動的にLockが解除される)(単位は秒)(0は無制限)waitLockTime
- Lockを取得する場合に既に取得中の場合この時間はLock取得をリトライする(単位は秒)(0は1度取得を試みる)
OkuyamaClientException
public java.lang.String[] releaseLockData(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- ロック対象Key値
OkuyamaClientException
protected java.lang.String getNowTransactionCode()
protected void setNowTransactionCode(java.lang.String transactionCode)
public boolean setValue(java.lang.String keyStr, java.lang.String value) throws OkuyamaClientException
keyStr
- Key値value
- value値
OkuyamaClientException
public boolean setValue(java.lang.String keyStr, java.lang.String[] tagStrs, java.lang.String value) throws OkuyamaClientException
keyStr
- Key値tagStrs
- Tag値の配列 例){"tag1","tag2","tag3"}value
- value値
OkuyamaClientException
public java.lang.String[] setNewValue(java.lang.String keyStr, java.lang.String value) throws OkuyamaClientException
keyStr
- Key値value
- Value値
OkuyamaClientException
public java.lang.String[] setNewValue(java.lang.String keyStr, java.lang.String[] tagStrs, java.lang.String value) throws OkuyamaClientException
keyStr
- Key値tagStrs
- Tag値 例){"tag1","tag2","tag3"}value
- Value値
OkuyamaClientException
public java.lang.String[] setValueVersionCheck(java.lang.String keyStr, java.lang.String value, java.lang.String versionNo) throws OkuyamaClientException
keyStr
- Key値value
- Value値versionNo
- getValueVersionCheckメソッドで取得したバージョンNo
OkuyamaClientException
public java.lang.String[] setValueVersionCheck(java.lang.String keyStr, java.lang.String[] tagStrs, java.lang.String value, java.lang.String versionNo) throws OkuyamaClientException
keyStr
- Key値tagStrs
- Tag値value
- Value値versionNo
- getValueVersionCheckメソッドで取得したバージョンNo
OkuyamaClientException
public boolean setByteValue(java.lang.String keyStr, byte[] values) throws OkuyamaClientException
keyStr
- Key値values
- Value値(byte配列)
OkuyamaClientException
public boolean setByteValue(java.lang.String keyStr, java.lang.String[] tagStrs, byte[] values) throws OkuyamaClientException
keyStr
- Key値tagStrs
- Tag値values
- Value値(byte配列)
OkuyamaClientException
public boolean sendByteValue(java.lang.String keyStr, byte[] values) throws OkuyamaClientException
keyStr
- Key値values
- Value値
OkuyamaClientException
public java.lang.String[] getValue(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
public java.lang.String[] getValue(java.lang.String keyStr, java.lang.String encoding) throws OkuyamaClientException
keyStr
- Key値encoding
- エンコーディング指定
OkuyamaClientException
public java.util.Map getMultiValue(java.lang.String[] keyStrList) throws OkuyamaClientException
keyStrList
- Key値配列
OkuyamaClientException
public java.util.Map getMultiValue(java.lang.String[] keyStrList, java.lang.String encoding) throws OkuyamaClientException
keyStrList
- Key値配列encoding
- エンコーディング指定
OkuyamaClientException
public java.util.Map getTagValues(java.lang.String tagStr) throws OkuyamaClientException
tagStr
- Tag値
OkuyamaClientException
public java.util.Map getTagValues(java.lang.String tagStr, java.lang.String encoding) throws OkuyamaClientException
tagStr
- Tag値encoding
- エンコーディング指定
OkuyamaClientException
public java.lang.String[] getValueVersionCheck(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
public java.lang.String[] getValueVersionCheck(java.lang.String keyStr, java.lang.String encoding) throws OkuyamaClientException
keyStr
- Key値encoding
-
OkuyamaClientException
public java.lang.Object[] incrValue(java.lang.String keyStr, long value) throws OkuyamaClientException
keyStr
- Key値value
- 加算値
OkuyamaClientException
public java.lang.Object[] decrValue(java.lang.String keyStr, long value) throws OkuyamaClientException
keyStr
- Key値value
- 減算値
OkuyamaClientException
public java.lang.String[] getValueScript(java.lang.String keyStr, java.lang.String scriptStr) throws OkuyamaClientException
keyStr
- キー値scriptStr
- スクリプト文
OkuyamaClientException
public java.lang.String[] getValueScript(java.lang.String keyStr, java.lang.String scriptStr, java.lang.String encoding) throws OkuyamaClientException
keyStr
- キー値scriptStr
- スクリプト文encoding
- エンコード指定
OkuyamaClientException
public java.lang.String[] getValueScriptForUpdate(java.lang.String keyStr, java.lang.String scriptStr) throws OkuyamaClientException
keyStr
- キー値scriptStr
- スクリプト文
OkuyamaClientException
public java.lang.String[] getValueScriptForUpdate(java.lang.String keyStr, java.lang.String scriptStr, java.lang.String encoding) throws OkuyamaClientException
keyStr
- キー値scriptStr
- スクリプト文encoding
-
OkuyamaClientException
public java.lang.String[] removeValue(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
public java.lang.String[] removeValue(java.lang.String keyStr, java.lang.String encoding) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
public java.lang.Object[] getByteValue(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
public java.lang.Object[] getByteValueVer2(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
protected java.lang.Object[] getByteData(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
public java.lang.Object[] readByteValue(java.lang.String keyStr) throws OkuyamaClientException
keyStr
- Key値
OkuyamaClientException
public java.lang.Object[] getTagKeys(java.lang.String tagStr) throws OkuyamaClientException
tagStr
- Tag値
OkuyamaClientException
public java.lang.Object[] getTagKeys(java.lang.String tagStr, boolean noExistsData) throws OkuyamaClientException
tagStr
- Tag値noExistsData
- 存在していないデータを取得するかの指定(true:取得する false:取得しない)
OkuyamaClientException
protected byte[] dataEncoding(byte[] datas)
protected byte[] dataDecoding(byte[] datas)
protected byte[] execCompress(byte[] bytes) throws java.lang.Exception
java.lang.Exception
protected byte[] execDecompres(byte[] bytes) throws java.lang.Exception
java.lang.Exception
|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |