public static class RequestTestingMessagingProvider.RequestTestingMessagingContext extends MessagingContext
アサート用の要求電文および応答電文は、Excelのテストケースから読み込むことを想定している。
本クラスを使用する場合、キューへのアクセスは行われない。
Constructor and Description |
---|
RequestTestingMessagingContext() |
Modifier and Type | Method and Description |
---|---|
static void |
assertSendingMessage(java.lang.Class<?> testClass,
java.lang.String sheetName,
java.lang.String caseNo,
java.lang.String expectedRequestMessageId)
要求メッセージのアサートを行う。
|
static void |
clearSendingMessageCache()
リクエスト単体テスト時に使用する要求電文のキャッシュをクリアする。
|
void |
close()
現在のセッションを終了し、保持しているリソースを開放する。
|
static void |
initializeForRequestUnitTesting(java.lang.Class<?> clazz,
java.lang.String sheetName,
java.lang.String no,
java.lang.String responseMessageId,
java.lang.String expectedMessageId)
リクエスト単体テスト時の初期化処理を行う。
|
ReceivedMessage |
receiveMessage(java.lang.String receiveQueue,
java.lang.String messageId,
long timeout)
指定した受信キュー上のメッセージを取得する。
messageIdが指定されている場合は、当該のメッセージに対する応答電文を
取得する。messageIdが指定されていないばあいは、受信キュー上の任意の電文
を取得する。
キュー上に取得対象のメッセージが存在しない場合、メッセージを受信するか、
指定した時間が経過する(タイムアウトする)までブロックする。
タイムアウトした場合はnullをかえす。
タイムアウト時間に0以下の数値を設定した場合は
応答電文を受信するまでブロックし続ける。
|
java.lang.String |
send(SendingMessage message)
メッセージを送信する。
|
java.lang.String |
sendMessage(SendingMessage message)
メッセージを送信する。
|
ReceivedMessage |
sendSync(SendingMessage message,
long timeout)
メッセージの同期送信を行う。
メッセージ送信後、応答電文を受信するか、指定した時間が経過するまでブロックする。
タイムアウトした場合はnullを返す。
タイムアウト時間に0以下の数値を設定した場合、
プロバイダ側のデフォルトタイムアウト時間を経過した場合はnullを返す。
タイムアウト時間が指定された場合は有効期間ヘッダにタイムアウト時間を指定する。
|
attach, detach, emitLog, getInstance, receiveSync, receiveSync, receiveSync, sendSync
public static void initializeForRequestUnitTesting(java.lang.Class<?> clazz, java.lang.String sheetName, java.lang.String no, java.lang.String responseMessageId, java.lang.String expectedMessageId)
本機能のリクエスト単体テストを動作させるために必要なプロパティをstatic領域に設定する。 また、要求電文のキャッシュをクリアする。
clazz
- テストケースのクラスsheetName
- シート名no
- テストケース番号responseMessageId
- 応答電文のIDexpectedMessageId
- 要求電文のIDpublic static void clearSendingMessageCache()
本機能のリクエスト単体テストで使用する要求電文のキャッシュをクリアする。
public ReceivedMessage sendSync(SendingMessage message, long timeout)
本メソッドは、要求電文ヘッダに「requestId」という名前のフィールドがある前提で動作する。
sendSync
in class MessagingContext
message
- 送信メッセージtimeout
- 応答タイムアウト (単位:ミリ秒、0以下の数値の場合はブロックし続ける)public static void assertSendingMessage(java.lang.Class<?> testClass, java.lang.String sheetName, java.lang.String caseNo, java.lang.String expectedRequestMessageId)
testClass
- テストクラスsheetName
- シート名caseNo
- テストケース番号expectedRequestMessageId
- 要求電文(期待値)のIDpublic void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class MessagingContext
public java.lang.String send(SendingMessage message) throws java.lang.UnsupportedOperationException
send
in class MessagingContext
message
- 送信メッセージjava.lang.UnsupportedOperationException
public java.lang.String sendMessage(SendingMessage message) throws java.lang.UnsupportedOperationException
sendMessage
in class MessagingContext
message
- 送信メッセージjava.lang.UnsupportedOperationException
public ReceivedMessage receiveMessage(java.lang.String receiveQueue, java.lang.String messageId, long timeout) throws java.lang.UnsupportedOperationException
receiveMessage
in class MessagingContext
receiveQueue
- 受信キューの論理名messageId
- 送信電文のメッセージID (応答受信でない場合はnull)timeout
- 応答タイムアウト
(単位:ミリ秒、0以下の数値の場合はブロックし続ける)java.lang.UnsupportedOperationException
- このメソッドが呼ばれた場合にスローされる例外