@Published(tag="architect") public abstract class MessagingContext extends Object
MessagingContext.getInstance()
を用いてインスタンスを獲得する。
本クラスでは、以下の機能を提供する。
MessagingProvider
修飾子とタイプ | メソッドと説明 |
---|---|
static void |
attach(MessagingContext context)
カレントスレッドにメッセージコンテキストを紐づける。
|
abstract void |
close()
現在のセッションを終了し、保持しているリソースを開放する。
|
static void |
detach()
カレントスレッド上のメッセージコンテキストを閉じた上で除去する。
|
protected void |
emitLog(InterSystemMessage<?> message)
メッセージングの証跡ログを出力する。
|
static MessagingContext |
getInstance()
カレントスレッドに紐づけられているメッセージングコンテキストを返す。
|
abstract ReceivedMessage |
receiveMessage(String receiveQueue,
String messageId,
long timeout)
指定した受信キュー上のメッセージを取得する。
|
ReceivedMessage |
receiveSync(String receiveQueue)
指定した受信キュー上のメッセージを取得する。
|
ReceivedMessage |
receiveSync(String receiveQueue,
long timeout)
指定した受信キュー上のメッセージを取得する。
|
ReceivedMessage |
receiveSync(String receiveQueue,
String messageId,
long timeout)
指定した受信キュー上のメッセージを取得する。
|
String |
send(SendingMessage message)
メッセージを送信する。
|
abstract String |
sendMessage(SendingMessage message)
メッセージを送信する。
|
ReceivedMessage |
sendSync(SendingMessage message)
メッセージの同期送信を行う。
|
ReceivedMessage |
sendSync(SendingMessage message,
long timeout)
メッセージの同期送信を行う。
|
public static MessagingContext getInstance()
IllegalStateException
- メッセージングコンテキストが現在のスレッド上に存在しない場合public static void attach(MessagingContext context)
context
- カレントスレッドに紐づけるメッセージングコンテキストpublic static void detach()
public String send(SendingMessage message)
message
- 送信メッセージpublic ReceivedMessage sendSync(SendingMessage message)
message
- 送信メッセージpublic ReceivedMessage sendSync(SendingMessage message, long timeout)
message
- 送信メッセージtimeout
- 応答タイムアウト (単位:ミリ秒、0以下の数値の場合はブロックし続ける)public ReceivedMessage receiveSync(String receiveQueue)
receiveQueue
- 受信キューの論理名public ReceivedMessage receiveSync(String receiveQueue, long timeout)
receiveQueue
- 受信キューの論理名timeout
- 応答タイムアウト
(単位:ミリ秒、0以下の数値の場合はブロックし続ける)public ReceivedMessage receiveSync(String receiveQueue, String messageId, long timeout)
receiveQueue
- 受信キューの論理名messageId
- 送信電文のメッセージID (応答受信でない場合はnull)timeout
- 応答タイムアウト
(単位:ミリ秒、0以下の数値の場合はブロックし続ける)public abstract String sendMessage(SendingMessage message)
message
- 送信メッセージpublic abstract ReceivedMessage receiveMessage(String receiveQueue, String messageId, long timeout)
receiveQueue
- 受信キューの論理名messageId
- 送信電文のメッセージID (応答受信でない場合はnull)timeout
- 応答タイムアウト
(単位:ミリ秒、0以下の数値の場合はブロックし続ける)public abstract void close()
protected void emitLog(InterSystemMessage<?> message)
message
- メッセージオブジェクト