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