okuyama.imdst.client
クラス OkuyamaClient

java.lang.Object
  上位を拡張 okuyama.imdst.client.OkuyamaClient
直系の既知のサブクラス:
ImdstKeyValueClient

public class OkuyamaClient
extends java.lang.Object

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;
   }
}

作成者:
T.Okuyama

フィールドの概要
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
 

フィールドの詳細

masterNodesList

protected java.util.ArrayList masterNodesList

socket

protected java.net.Socket socket

nowConnectServerInfo

protected java.lang.String nowConnectServerInfo

pw

protected java.io.PrintWriter pw

br

protected java.io.BufferedReader br

transactionCode

protected java.lang.String transactionCode

sepStr

protected static final java.lang.String sepStr
関連項目:
定数フィールド値

connectDefaultEncoding

protected static final java.lang.String connectDefaultEncoding
関連項目:
定数フィールド値

blankStr

protected static final java.lang.String blankStr
関連項目:
定数フィールド値

connectExitStr

protected static final java.lang.String connectExitStr
関連項目:
定数フィールド値

tagKeySep

protected static final java.lang.String tagKeySep
関連項目:
定数フィールド値

byteDataKeysSep

protected static final java.lang.String byteDataKeysSep
関連項目:
定数フィールド値

saveSize

protected int saveSize

maxValueSize

protected int maxValueSize

maxKeySize

protected int maxKeySize

compressMode

protected boolean compressMode

setValueServerReqBuf

protected java.lang.StringBuilder setValueServerReqBuf

getValueServerReqBuf

protected java.lang.StringBuilder getValueServerReqBuf
コンストラクタの詳細

OkuyamaClient

public OkuyamaClient()
コンストラクタ

メソッドの詳細

setCompressMode

public void setCompressMode(boolean flg)
データ保存時の圧縮指定.

パラメータ:
flg - true:圧縮 false:非圧縮

setConnectionInfos

public void setConnectionInfos(java.lang.String[] masterNodes)
MasterNodeの接続情報を設定する.
本メソッドでセットし、autoConnect()メソッドを
呼び出すと、自動的にその時稼動しているMasterNodeにバランシングして
接続される。接続出来ない場合は、別のMasterNodeに再接続される.

パラメータ:
masterNodes - 接続情報の配列 "IP:PORT"の形式

autoConnect

public void autoConnect()
                 throws OkuyamaClientException
設定されたMasterNodeの接続情報を元に自動的に接続を行う.
接続出来ない場合自動的に別ノードへ再接続を行う.

パラメータ:
masterNodes - 接続情報の配列 "IP:PORT"の形式
例外:
OkuyamaClientException

connect

public void connect(java.lang.String server,
                    int port)
             throws OkuyamaClientException
接続処理.
エンコーディング指定なし.

パラメータ:
server - サーバ名
port - ポート番号
例外:
OkuyamaClientException

connect

public void connect(java.lang.String server,
                    int port,
                    java.lang.String encoding)
             throws OkuyamaClientException
接続処理.
エンコーディング指定なし.

パラメータ:
server - サーバ名
port - ポート番号
例外:
OkuyamaClientException

connect

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

close

public void close()
           throws OkuyamaClientException
MasterNodeとの接続を切断.

例外:
OkuyamaClientException

initClient

public boolean initClient()
                   throws OkuyamaClientException
Clientを初期化する.
今のところはValueの最大保存サイズの初期化のみ.
※本メソッドは内部で自動的に呼び出されるので特に呼び出す必要はない.
※あまりに長時間コネクションプールを行う場合に呼び出せば
その都度サイズを初期化できる.

戻り値:
boolean true:開始成功 false:開始失敗
例外:
OkuyamaClientException

startTransaction

public boolean startTransaction()
                         throws OkuyamaClientException
Transactionを開始する.
データロック、ロックリリースを使用する場合は、
事前に呼び出す必要がある.

戻り値:
boolean true:開始成功 false:開始失敗
例外:
OkuyamaClientException

endTransaction

public void endTransaction()
Transactionを終了する.
データロック、ロックリリースの使用を完了後に、
呼び出すことで、現在使用中のTransactionを終了できる


lockData

public java.lang.String[] lockData(java.lang.String keyStr,
                                   int lockingTime,
                                   int waitLockTime)
                            throws OkuyamaClientException
データのLockを依頼する.
本メソッドは、startTransactionメソッドを呼び出した場合のみ有効である

パラメータ:
keyStr - ロック対象のKey値
lockingTime - Lockを取得後、維持する時間(この時間を経過すると自動的にLockが解除される)(単位は秒)(0は無制限)
waitLockTime - Lockを取得する場合に既に取得中の場合この時間はLock取得をリトライする(単位は秒)(0は1度取得を試みる)
戻り値:
String[] 要素1(Lock成否):"true" or "false"
例外:
OkuyamaClientException

releaseLockData

public java.lang.String[] releaseLockData(java.lang.String keyStr)
                                   throws OkuyamaClientException
データのLock解除を依頼する.
本メソッドは、startTransactionメソッドを呼び出した場合のみ有効である.

パラメータ:
keyStr - ロック対象Key値
戻り値:
String[] 要素1(Lock解除成否):"true" or "false"
例外:
OkuyamaClientException

getNowTransactionCode

protected java.lang.String getNowTransactionCode()
トランザクションを開始している場合、自身のトランザクションを一意に表す コードを返す. このコードをsetNowTransactionCodeに渡すと、別クライアントのTransactionを引き継げる !! 他クライアントの処理を横取ることが出来るため、使用を推奨しない !!

戻り値:
String

setNowTransactionCode

protected void setNowTransactionCode(java.lang.String transactionCode)
他のクライアントが実施しているトランザクションコードを設定することで、 トランザクション処理を引き継ぐことが出来る。 !!! 他クライアントの処理を横取ることが出来るため、使用を推奨しない !!!


setValue

public boolean setValue(java.lang.String keyStr,
                        java.lang.String value)
                 throws OkuyamaClientException
MasterNodeへデータを登録要求する.
Tagなし.

パラメータ:
keyStr - Key値
value - value値
戻り値:
boolean 登録成否
例外:
OkuyamaClientException

setValue

public boolean setValue(java.lang.String keyStr,
                        java.lang.String[] tagStrs,
                        java.lang.String value)
                 throws OkuyamaClientException
MasterNodeへデータを登録要求する.
Tag有り.

パラメータ:
keyStr - Key値
tagStrs - Tag値の配列 例){"tag1","tag2","tag3"}
value - value値
戻り値:
boolean 登録成否
例外:
OkuyamaClientException

setNewValue

public java.lang.String[] setNewValue(java.lang.String keyStr,
                                      java.lang.String value)
                               throws OkuyamaClientException
MasterNodeへ新規データを登録要求する.
Tagなし.
既にデータが同一のKeyで登録されている場合は失敗する.
その場合は、falseが返る
成功の場合は配列の長さは1である。失敗時は2である

パラメータ:
keyStr - Key値
value - Value値
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(失敗時はメッセージ):"メッセージ"
例外:
OkuyamaClientException

setNewValue

public java.lang.String[] setNewValue(java.lang.String keyStr,
                                      java.lang.String[] tagStrs,
                                      java.lang.String value)
                               throws OkuyamaClientException
MasterNodeへ新規データを登録要求する.
Tag有り.
既にデータが同一のKeyで登録されている場合は失敗する.
その場合は、falseが返る
成功の場合は配列の長さは1である。失敗時は2である

パラメータ:
keyStr - Key値
tagStrs - Tag値 例){"tag1","tag2","tag3"}
value - Value値
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(失敗時はメッセージ):"メッセージ"
例外:
OkuyamaClientException

setValueVersionCheck

public java.lang.String[] setValueVersionCheck(java.lang.String keyStr,
                                               java.lang.String value,
                                               java.lang.String versionNo)
                                        throws OkuyamaClientException
MasterNodeへバージョンチェック付き値登録要求をする.
Tagなし.
バージョン値を使用して更新前チェックを行う.
失敗した場合は、falseが返る
成功の場合は配列の長さは1である。失敗時は2である
memcachedのcasに相当.

パラメータ:
keyStr - Key値
value - Value値
versionNo - getValueVersionCheckメソッドで取得したバージョンNo
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(失敗時はメッセージ):"メッセージ"
例外:
OkuyamaClientException

setValueVersionCheck

public java.lang.String[] setValueVersionCheck(java.lang.String keyStr,
                                               java.lang.String[] tagStrs,
                                               java.lang.String value,
                                               java.lang.String versionNo)
                                        throws OkuyamaClientException
MasterNodeへバージョンチェック付き値登録要求をする.
Tag有り.
バージョン値を使用して更新前チェックを行う.
失敗した場合は、falseが返る
成功の場合は配列の長さは1である。失敗時は2である
memcachedのcasに相当.

パラメータ:
keyStr - Key値
tagStrs - Tag値
value - Value値
versionNo - getValueVersionCheckメソッドで取得したバージョンNo
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(失敗時はメッセージ):"メッセージ"
例外:
OkuyamaClientException

setByteValue

public boolean setByteValue(java.lang.String keyStr,
                            byte[] values)
                     throws OkuyamaClientException
MasterNodeへデータを登録要求する(バイナリデータ).
Tagなし.

パラメータ:
keyStr - Key値
values - Value値(byte配列)
戻り値:
boolean 登録成否
例外:
OkuyamaClientException

setByteValue

public boolean setByteValue(java.lang.String keyStr,
                            java.lang.String[] tagStrs,
                            byte[] values)
                     throws OkuyamaClientException
MasterNodeへデータを登録要求する(バイナリデータ).
Tag有り.
処理の流れとしては、まずvalueを一定の容量で区切り、その単位で、
Key値にプレフィックスを付けた値を作成し、かつ、特定のセパレータで連結して、
渡されたKeyを使用して連結文字を保存する

パラメータ:
keyStr - Key値
tagStrs - Tag値
values - Value値(byte配列)
戻り値:
boolean 登録成否
例外:
OkuyamaClientException

sendByteValue

public boolean sendByteValue(java.lang.String keyStr,
                             byte[] values)
                      throws OkuyamaClientException
MasterNodeへデータを送信する(バイナリデータ).
setByteValueメソッドとの違いはValueをSplitしないで登録する部分.

パラメータ:
keyStr - Key値
values - Value値
戻り値:
boolean 登録成否
例外:
OkuyamaClientException

getValue

public java.lang.String[] getValue(java.lang.String keyStr)
                            throws OkuyamaClientException
MasterNodeからKeyでValueを取得する.
文字列エンコーディング指定なし.
デフォルトエンコーディングにて復元.

パラメータ:
keyStr - Key値
戻り値:
String[] 要素1(データ有無):"true" or "false", 要素2(データ):"データ文字列"
例外:
OkuyamaClientException

getValue

public java.lang.String[] getValue(java.lang.String keyStr,
                                   java.lang.String encoding)
                            throws OkuyamaClientException
MasterNodeからKeyでValueを取得する.
文字列エンコーディング指定あり.

パラメータ:
keyStr - Key値
encoding - エンコーディング指定
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(データ):"データ文字列"
例外:
OkuyamaClientException

getMultiValue

public java.util.Map getMultiValue(java.lang.String[] keyStrList)
                            throws OkuyamaClientException
MasterNodeからKey値の配列を渡すことでValue値の集合を取得する.
文字列エンコーディング指定なし.
デフォルトエンコーディングにて復元.

パラメータ:
keyStrList - Key値配列
戻り値:
Map 取得データのMap 取得キーに同一の値を複数指定した場合は束ねられる Mapのキー値は指定されたKeyとなりValueは取得した値となる
例外:
OkuyamaClientException

getMultiValue

public java.util.Map getMultiValue(java.lang.String[] keyStrList,
                                   java.lang.String encoding)
                            throws OkuyamaClientException
MasterNodeからKey値の配列を渡すことでValue値の集合を取得する.
文字列エンコーディング指定あり.

パラメータ:
keyStrList - Key値配列
encoding - エンコーディング指定
戻り値:
Map 取得データのMap 取得キーに同一の値を複数指定した場合は束ねられる Mapのキー値は指定されたKeyとなりValueは取得した値となる
例外:
OkuyamaClientException

getTagValues

public java.util.Map getTagValues(java.lang.String tagStr)
                           throws OkuyamaClientException
MasterNodeからTag値を渡すことで紐付くValue値の集合を取得する.
文字列エンコーディング指定なし.
デフォルトエンコーディングにて復元.

パラメータ:
tagStr - Tag値
戻り値:
Map 取得データのMap 取得キーに同一の値を複数指定した場合は束ねられる Mapのキー値は指定されたKeyとなりValueは取得した値となる
例外:
OkuyamaClientException

getTagValues

public java.util.Map getTagValues(java.lang.String tagStr,
                                  java.lang.String encoding)
                           throws OkuyamaClientException
MasterNodeからTag値を渡すことで紐付くValue値の集合を取得する.
文字列エンコーディング指定あり.

パラメータ:
tagStr - Tag値
encoding - エンコーディング指定
戻り値:
Map 取得データのMap 取得キーに同一の値を複数指定した場合は束ねられる Mapのキー値は指定されたKeyとなりValueは取得した値となる
例外:
OkuyamaClientException

getValueVersionCheck

public java.lang.String[] getValueVersionCheck(java.lang.String keyStr)
                                        throws OkuyamaClientException
MasterNodeからKeyでValueを取得する.
文字列エンコーディング指定なし.
デフォルトエンコーディングにて復元.
バージョン情報(memcachedでのcasユニーク値)を返す.
memcachedのgetsに相当.

パラメータ:
keyStr - Key値
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(データ):"データ文字列",要素3(VersionNo):"0始まりの数値"
例外:
OkuyamaClientException

getValueVersionCheck

public java.lang.String[] getValueVersionCheck(java.lang.String keyStr,
                                               java.lang.String encoding)
                                        throws OkuyamaClientException
MasterNodeからKeyでValueを取得する.
文字列エンコーディング指定あり.
バージョン情報(memcachedでのcasユニーク値)を返す.
memcachedのgetsに相当.

パラメータ:
keyStr - Key値
encoding -
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(データ):"データ文字列",要素3(VersionNo):"0始まりの数値"
例外:
OkuyamaClientException

incrValue

public java.lang.Object[] incrValue(java.lang.String keyStr,
                                    long value)
                             throws OkuyamaClientException
MasterNodeへデータの加算を要求する.

パラメータ:
keyStr - Key値
value - 加算値
戻り値:
Object[] 要素1(処理成否):Boolean true/false,要素2(演算後の結果):Long 数値
例外:
OkuyamaClientException

decrValue

public java.lang.Object[] decrValue(java.lang.String keyStr,
                                    long value)
                             throws OkuyamaClientException
MasterNodeへデータの減算を要求する.

パラメータ:
keyStr - Key値
value - 減算値
戻り値:
Object[] 要素1(処理成否):Boolean true/false,要素2(演算後の結果):Long 数値
例外:
OkuyamaClientException

getValueScript

public java.lang.String[] getValueScript(java.lang.String keyStr,
                                         java.lang.String scriptStr)
                                  throws OkuyamaClientException
MasterNodeからKeyでValueを取得する.
Scriptを同時に実行する.
文字列エンコーディング指定なし.

パラメータ:
keyStr - キー値
scriptStr - スクリプト文
戻り値:
String[] 要素1(データ、エラー有無):"true" or "false" or "error", 要素2(データorエラー内容):"文字列"
例外:
OkuyamaClientException

getValueScript

public java.lang.String[] getValueScript(java.lang.String keyStr,
                                         java.lang.String scriptStr,
                                         java.lang.String encoding)
                                  throws OkuyamaClientException
MasterNodeからKeyでデータを取得する.
Scriptを同時に実行する.
文字エンコーディング指定あり.

パラメータ:
keyStr - キー値
scriptStr - スクリプト文
encoding - エンコード指定
戻り値:
String[] 要素1(データ、エラー有無):"true" or "false" or "error", 要素2(データorエラー内容):"文字列"
例外:
OkuyamaClientException

getValueScriptForUpdate

public java.lang.String[] getValueScriptForUpdate(java.lang.String keyStr,
                                                  java.lang.String scriptStr)
                                           throws OkuyamaClientException
MasterNodeからKeyでValueを取得する.
Scriptを同時に実行する.
ScriptにValue更新指示を記述してる場合はこちらを実行する.
文字列エンコーディング指定なし.

パラメータ:
keyStr - キー値
scriptStr - スクリプト文
戻り値:
String[] 要素1(データ、エラー有無):"true" or "false" or "error", 要素2(データorエラー内容):"文字列"
例外:
OkuyamaClientException

getValueScriptForUpdate

public java.lang.String[] getValueScriptForUpdate(java.lang.String keyStr,
                                                  java.lang.String scriptStr,
                                                  java.lang.String encoding)
                                           throws OkuyamaClientException
MasterNodeからKeyでデータを取得する.
Scriptを同時に実行する.
ScriptにValue更新指示を記述してる場合はこちらを実行する.
文字列エンコーディング指定あり.

パラメータ:
keyStr - キー値
scriptStr - スクリプト文
encoding -
戻り値:
String[] 要素1(データ、エラー有無):"true" or "false" or "error", 要素2(データorエラー内容):"文字列"
例外:
OkuyamaClientException

removeValue

public java.lang.String[] removeValue(java.lang.String keyStr)
                               throws OkuyamaClientException
MasterNodeからKeyでValueを削除する.

パラメータ:
keyStr - Key値
戻り値:
String[] 要素1(データ有無):"true" or "false",要素2(データ):"データ文字列"
例外:
OkuyamaClientException

removeValue

public java.lang.String[] removeValue(java.lang.String keyStr,
                                      java.lang.String encoding)
                               throws OkuyamaClientException
MasterNodeからKeyでデータを削除する.
取得値のエンコーディング指定あり.

パラメータ:
keyStr - Key値
戻り値:
String[] 削除したデータ 内容) 要素1(データ削除有無):"true" or "false",要素2(削除データ):"データ文字列"
例外:
OkuyamaClientException

getByteValue

public java.lang.Object[] getByteValue(java.lang.String keyStr)
                                throws OkuyamaClientException
MasterNodeからKeyでValueを取得する(バイナリ).
setByteValueで登録したValueはこちらで取得する.

パラメータ:
keyStr - Key値
戻り値:
Object[] 要素1(String)(データ有無):"true" or "false",要素2(byte[])(データ):{バイト配列}
例外:
OkuyamaClientException

getByteValueVer2

public java.lang.Object[] getByteValueVer2(java.lang.String keyStr)
                                    throws OkuyamaClientException
MasterNodeからKeyでValueを取得する(バイナリ).
setByteValueメソッドで登録したValueはこちらで取得する.
getByteValueよりもこちらのほうが高速に動作する.

パラメータ:
keyStr - Key値
戻り値:
Object[] 要素1(String)(データ有無):"true" or "false",要素2(byte[])(データ):{バイト配列}
例外:
OkuyamaClientException

getByteData

protected java.lang.Object[] getByteData(java.lang.String keyStr)
                                  throws OkuyamaClientException
MasterNodeからKeyでデータを取得する(バイナリ).

パラメータ:
keyStr - Key値
戻り値:
Object[] 要素1(String)(データ有無):"true" or "false",要素2(byte[])(データ):{バイト配列}
例外:
OkuyamaClientException

readByteValue

public java.lang.Object[] readByteValue(java.lang.String keyStr)
                                 throws OkuyamaClientException
MasterNodeからKeyでデータを取得する(バイナリ).
sendByteValueで登録したValueはこちらで取得する.

パラメータ:
keyStr - Key値
戻り値:
Object[] 要素1(String)(データ有無):"true" or "false",要素2(byte[])(データ):{バイト配列}
例外:
OkuyamaClientException

getTagKeys

public java.lang.Object[] getTagKeys(java.lang.String tagStr)
                              throws OkuyamaClientException
MasterNodeからTagでKey値配列を取得する.

パラメータ:
tagStr - Tag値
戻り値:
Object[] 要素1(データ有無):"true" or "false",要素2(Key値配列):Stringの配列
例外:
OkuyamaClientException

getTagKeys

public java.lang.Object[] getTagKeys(java.lang.String tagStr,
                                     boolean noExistsData)
                              throws OkuyamaClientException
MasterNodeからTagでKey値配列を取得する.
Tagは打たれているが実際は既に存在しないValueをどのように扱うかを指定できる.

パラメータ:
tagStr - Tag値
noExistsData - 存在していないデータを取得するかの指定(true:取得する false:取得しない)
戻り値:
Object[] 要素1(データ有無):"true" or "false",要素2(Key値配列):Stringの配列
例外:
OkuyamaClientException

dataEncoding

protected byte[] dataEncoding(byte[] datas)

dataDecoding

protected byte[] dataDecoding(byte[] datas)

execCompress

protected byte[] execCompress(byte[] bytes)
                       throws java.lang.Exception
例外:
java.lang.Exception

execDecompres

protected byte[] execDecompres(byte[] bytes)
                        throws java.lang.Exception
例外:
java.lang.Exception