ストリームデータ処理基盤 uCosminexus Stream Data Platform - Application Framework アプリケーション開発ガイド

[目次][索引][前へ][次へ]

get(int count, long timeout)メソッド

形式

ArrayList<StreamTuple> get(int count, long timeout)

説明

SDPサーバに登録されているデータをcountパラメーターに指定した数だけ取得します。

SDPサーバに結果データがない場合,結果データが到着するか,またはtimeoutパラメーターに指定した時間が経過するまで待機します。待機中に結果データが到着した場合,到着したデータを格納したArrayList型オブジェクトが返却されます。timeoutパラメーターに指定した時間が経過した場合,または待機中のスレッドに割り込みが発生した場合は,次のどちらかのオブジェクトが返却されます。

このメソッドを呼び出した時点でクエリグループに対して停止が通知されていた場合(メソッドによってデータ送信終了が通知された場合,またはコマンドによってクエリグループ停止が通知された場合),次のように処理されます。

このメソッドは,ポーリング用メソッドです。

パラメーター

count

SDPサーバから取得するデータの数を指定します。指定可能範囲は1〜1,048,576です。

なお,実際に取得できるデータの数は,このパラメーターと出力ストリームキューの状態によって次に示すようになります。

条件 取得できる数
countの指定値 ≦ 出力ストリームキューのデータ数 countパラメーターに指定した数
countの指定値 > 出力ストリームキューのデータ数 出力ストリームキューのデータ数
countの指定値 > 出力ストリームキューの最大サイズ

timeout

データがない場合に,待機する最大時間をミリ秒で指定します。

指定した値によって,次の処理が実行されます。

指定した値 実行される処理
負の数 待機しません。
0 結果データが到着するか,またはストリームが終了するまで待機します。
そのほかの値 結果データが到着するか,または指定時間が経過するまで待機します。

例外

例外とその発生条件を次の表に示します。

例外 発生条件
SDPClientCommunicationException RMI連携時に通信例外が発生した場合
SDPClientEndOfStreamException 送信データの処理が終了している場合
SDPClientException
  • 出力ストリームがすでに閉じている場合
  • コールバック用リスナーオブジェクトがすでに登録されている場合
  • パラメーターが不正の場合
SDPClientQueryGroupHoldException クエリグループが閉塞中の場合(SDPClientQueryGroupStateExceptionの詳細例外)
SDPClientQueryGroupNotExistException クエリグループが削除された場合
SDPClientQueryGroupStateException クエリグループが実行中でない場合
SDPClientQueryGroupStopException 結果データがなく,かつクエリグループが停止中の場合(SDPClientQueryGroupStateExceptionの詳細例外)

戻り値

タプルのリスト(ArrayList<StreamTuple>型オブジェクト)。