public class MessageReader extends java.lang.Object implements DataReader<ReceivedMessage>
MessageReadError
)を送出する。DataReader
DataReader.NoMoreRecord
Constructor and Description |
---|
MessageReader() |
Modifier and Type | Method and Description |
---|---|
void |
close(ExecutionContext ctx)
このリーダのクローズフラグを立て新規電文の受信を停止する。
受信イベント待ちで待機中のスレッドについてはそのまま放置する。
それらのスレッドは、新規電文を受信するかタイムアウトした時点で待機が解除される。 |
boolean |
hasNext(ExecutionContext ctx)
次に読み込むデータが存在するかどうかを返却する。
この実装では、リーダが開いているかどうかで次のデータを読めるかどうか判定する。
|
ReceivedMessage |
read(ExecutionContext ctx)
受信電文を読み込む。
カレントスレッドに紐づけられた
MessagingContext
オブジェクトを使用して受信キューから電文を取得し返却する。受信キュー上に電文が1件も無い場合は、新規電文を受信するか、タイムアウト時間まで待機する。 (このタイムアウトは各スレッドが開閉局やプロセス停止フラグ等の実行制御系の ステータスを確認するために必要となる。) 既にリーダが閉じられていた場合、またはタイムアウトした場合は null を返却する。 |
MessageReader |
setFormatFileDirName(java.lang.String dirName)
受信電文のフォーマット定義ファイルが配置されているディレクトリの
論理名を指定する。
|
MessageReader |
setFormatFileName(java.lang.String fileName)
受信電文のフォーマット定義ファイル名を設定する。
|
MessageReader |
setReadTimeout(long timeout)
受信キューが空の場合に待機する最大時間を設定する。
0以下の値を設定した場合はタイムアウトせずに
新規電文を受信するまで待機し続ける。
|
MessageReader |
setReceiveQueueName(java.lang.String queueName)
このリーダが監視する受信キューの論理名を設定する。
|
public ReceivedMessage read(ExecutionContext ctx)
MessagingContext
オブジェクトを使用して受信キューから電文を取得し返却する。null
を返却する。read
in interface DataReader<ReceivedMessage>
ctx
- 実行コンテキストjava.lang.IllegalStateException
- 受信キューの論理名がnull
の場合java.lang.RuntimeException
- 実行時例外が発生した場合java.lang.Error
- エラーが発生した場合MessageReadError
- 受信電文オブジェクトの設定中に
実行時例外またはエラーが発生した場合public boolean hasNext(ExecutionContext ctx)
hasNext
in interface DataReader<ReceivedMessage>
ctx
- 実行コンテキストtrue
public void close(ExecutionContext ctx)
close
in interface DataReader<ReceivedMessage>
ctx
- 実行コンテキストpublic MessageReader setReceiveQueueName(java.lang.String queueName)
queueName
- 受信キューの論理名public MessageReader setReadTimeout(long timeout)
timeout
- 受信タイムアウト(単位:ミリ秒)public MessageReader setFormatFileName(java.lang.String fileName)
fileName
- フォーマット定義ファイル名public MessageReader setFormatFileDirName(java.lang.String dirName)
dirName
- フォーマット定義ファイル配置ディレクトリの論理名