okuyama.imdst.client
クラス OkuyamaQueueClient

java.lang.Object
  上位を拡張 okuyama.imdst.client.OkuyamaClient
      上位を拡張 okuyama.imdst.client.OkuyamaQueueClient

public class OkuyamaQueueClient
extends OkuyamaClient

MasterNodeと通信を行うプログラムインターフェース
okuyamaを利用してキュー機構を実現するClient
利用手順としては
1.MasterNodeへ接続
2.createQueueSpaceメソッドで任意の名前でQueue領域を作成(既に作成済みのQueue領域を利用する場合は作成不要)
3.putメソッドにてデータを登録、もしくはtakeメソッドにて取り出し
4.利用終了後closeを呼び出す
※.Queue領域を削除する場合はremoveQueueSpaceを呼び出す
実装例)
-----------------------------------------------------------
  String[] masterNodeInfos = {"127.0.0.1:8888"};
  OkuyamaQueueClient queueClient = new OkuyamaQueueClient();
  queueClient.setConnectionInfos(masterNodeInfos);
  // 接続
  queueClient.autoConnect();
  // Queue領域を作成
  if(queueClient.createQueueSpace("QueueNameXXX1")) {
    System.out.println("Create - Success");
  } else {
    System.out.println("Create - Error");
  }

  // Queue領域名"QueueNameXXX1"にデータを登録
  if(queueClient.put("QueueNameXXX1", "Data-0001")) {
    System.out.println("Put - Success");
  } else {
    System.out.println("Put - Error");
  }

  String takeData = null;
  // Queue領域名"QueueNameXXX1"からデータを取得
  takeData = queueClient.take("QueueNameXXX1", 10000);
  if (takeData != null) {
    System.out.println("Data NotFound");
  } else {
    System.out.println("Take Data = " + takeData);
  }

  // 接続を切断
  queueClient.close();
-----------------------------------------------------------

作成者:
T.Okuyama

フィールドの概要
static java.lang.String QUEUE_NAME_PREFIX
           
static java.lang.String QUEUE_NAME_PREFIX_NOW_INDEX
           
static java.lang.String QUEUE_NAME_PREFIX_NOW_POINT
           
static java.lang.String QUEUE_TAKE_END_VALUE
           
 
クラス okuyama.imdst.client.OkuyamaClient から継承されたフィールド
blankStr, br, byteDataKeysSep, compressMode, connectDefaultEncoding, connectExitStr, getValueServerReqBuf, initParamConnectionTimeout, initParamEncoding, initParamMasterNodes, initParamOpenTimeout, initParamPort, initParamServer, masterNodesList, maxKeySize, maxValueSize, nowConnectServerInfo, okuyamaVersionNo, pw, saveSize, SEARCH_VALUE_TYPE_AND, SEARCH_VALUE_TYPE_OR, sepStr, setValueServerReqBuf, socket, tagKeySep, transactionCode, useAutoConnect
 
コンストラクタの概要
OkuyamaQueueClient()
          コンストラクタ
 
メソッドの概要
 boolean createQueueSpace(java.lang.String queueName)
          Queue領域の作成.
 boolean put(java.lang.String queueName, java.lang.String data)
          Queueへのデータ登録.
 boolean removeQueueSpace(java.lang.String queueName)
          Queue領域を削除する.
 java.lang.String take(java.lang.String queueName)
          Queueからデータ取得.
 java.lang.String take(java.lang.String queueName, long timeOut)
          Queueからデータ取得.
 
クラス okuyama.imdst.client.OkuyamaClient から継承されたメソッド
autoConnect, clearDictionaryCharacters, close, connect, connect, connect, dataDecoding, dataEncoding, decrValue, endTransaction, execCompress, execDecompres, getByteData, getByteValue, getByteValueVer2, getMultiTagKeys, getMultiTagKeys, getMultiTagKeys, getMultiTagKeysResult, getMultiTagKeysResult, getMultiTagValues, getMultiTagValues, getMultiTagValues, getMultiValue, getMultiValue, getNowTransactionCode, getObjectValue, getObjectValueAndUpdateExpireTime, getOkuyamaVersion, getTagKeys, getTagKeys, getTagKeys, getTagKeysResult, getTagKeysResult, getTagKeysResult, getTagKeysResult, getTagKeysResult, getTagKeysResult, getTagKeysResult, getTagKeysResult, getTagValues, getTagValues, getTargetIndexTagKeys, getValue, getValue, getValueAndUpdateExpireTime, getValueAndUpdateExpireTime, getValueScript, getValueScript, getValueScriptForUpdate, getValueScriptForUpdate, getValueVersionCheck, getValueVersionCheck, incrValue, initClient, lockData, readByteValue, readSearchValueResponse, readSearchValueResponse, releaseLockData, removeSearchIndex, removeSearchIndex, removeSearchIndex, removeSearchIndex, removeTagFromKey, removeValue, removeValue, searchValue, searchValue, searchValue, searchValue, sendByteValue, sendSearchValueRequest, sendSearchValueRequest, sendSearchValueRequest, setByteValue, setByteValue, setByteValue, setByteValue, setCompressMode, setConnectionInfos, setDictionaryCharacters, setNewValue, setNewValue, setNewValue, setNewValue, setNewValue, setNewValue, setNowTransactionCode, setObjectValue, setObjectValue, setObjectValue, setObjectValue, setSendDataDebug, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValueAndCreateIndex, setValueAndCreateIndex, setValueAndCreateIndex, setValueAndCreateIndex, setValueAndCreateIndex, setValueAndCreateIndex, setValueAndCreateIndex, setValueVersionCheck, setValueVersionCheck, setValueVersionCheck, startTransaction
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

QUEUE_NAME_PREFIX

public static java.lang.String QUEUE_NAME_PREFIX

QUEUE_NAME_PREFIX_NOW_INDEX

public static java.lang.String QUEUE_NAME_PREFIX_NOW_INDEX

QUEUE_NAME_PREFIX_NOW_POINT

public static java.lang.String QUEUE_NAME_PREFIX_NOW_POINT

QUEUE_TAKE_END_VALUE

public static java.lang.String QUEUE_TAKE_END_VALUE
コンストラクタの詳細

OkuyamaQueueClient

public OkuyamaQueueClient()
コンストラクタ

メソッドの詳細

createQueueSpace

public boolean createQueueSpace(java.lang.String queueName)
                         throws OkuyamaClientException
Queue領域の作成.
既に領域が存在する場合はエラー

パラメータ:
queueName - 作成Queue名(上限の長さはOkuyamaClientでのKeyの最大長 - 43byte)
例外:
OkuyamaClientException

removeQueueSpace

public boolean removeQueueSpace(java.lang.String queueName)
                         throws OkuyamaClientException
Queue領域を削除する.
不要なデータも削除するため処理時間が長くなる可能性がある

パラメータ:
queueName - 削除Queue領域名
戻り値:
boolean true=削除成功/削除失敗
例外:
OkuyamaClientException

put

public boolean put(java.lang.String queueName,
                   java.lang.String data)
            throws OkuyamaClientException
Queueへのデータ登録.

パラメータ:
queueName - 登録するQueue領域名
data - 登録データ
例外:
OkuyamaClientException

take

public java.lang.String take(java.lang.String queueName)
                      throws OkuyamaClientException
Queueからデータ取得.
指定したQueue名が存在しない場合はエラー
Queueにデータが存在しない場合は30秒待った後にnullが返る

パラメータ:
queueName - 取得対象のQueue領域名
戻り値:
取得データ(指定時間以内に取得できない場合はnull)
例外:
OkuyamaClientException

take

public java.lang.String take(java.lang.String queueName,
                             long timeOut)
                      throws OkuyamaClientException
Queueからデータ取得.
指定したQueue名が存在しない場合はエラー
Queueにデータが存在しない場合の待ち時間を設定出来る

パラメータ:
queueName - 取得対象のQueue領域名
timeOut - 待ち受けタイムアウト時間(ミリ秒/単位)
戻り値:
取得データ(指定時間以内に取得できない場合はnull)
例外:
OkuyamaClientException