ストリームデータ処理基盤 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>型オブジェクト)。
All Rights Reserved. Copyright (C) 2010, 2014, Hitachi, Ltd.