public static class JmsMessagingProvider.Context extends MessagingContext
Modifier and Type | Class and Description |
---|---|
static class |
JmsMessagingProvider.Context.JmsHeaderName
JMSヘッダー名称
|
Constructor and Description |
---|
Context(javax.jms.Connection conn,
JmsMessagingProvider provider)
コンストラクタ
|
Modifier and Type | Method and Description |
---|---|
void |
close()
現在のセッションを終了し、保持しているリソースを開放する。
|
protected javax.jms.Queue |
getPoisonQueueOf(java.lang.String queueName)
指定されたJMSキューに対する退避キューを返す。
該当するキューが存在しない場合はMessagingExceptionを送出する。
|
protected java.lang.String |
getQueueNameOf(javax.jms.Destination queue)
指定されたJMSキューの論理名を逆引きする。
キューが登録されていない場合はnullを返す。
|
protected javax.jms.Queue |
getQueueOf(java.lang.String queueName)
指定されたキュー名に対するJMSQueueインスタンスを返す。
|
ReceivedMessage |
receiveMessage(java.lang.String queueName,
java.lang.String messageId,
long timeout)
指定した受信キュー上のメッセージを取得する。
messageIdが指定されている場合は、当該のメッセージに対する応答電文を
取得する。messageIdが指定されていないばあいは、受信キュー上の任意の電文
を取得する。
キュー上に取得対象のメッセージが存在しない場合、メッセージを受信するか、
指定した時間が経過する(タイムアウトする)までブロックする。
タイムアウトした場合はnullをかえす。
タイムアウト時間に0以下の数値を設定した場合は
応答電文を受信するまでブロックし続ける。
|
protected void |
rejectIfExpiresRedeliverLimit(javax.jms.Message message,
java.lang.String queueName)
MOMによるメッセージの受信リトライ回数が規定回数を越えていた場合は、
メッセージ退避キューに転送し、実行時例外を送出する。
|
java.lang.String |
sendMessage(SendingMessage message)
メッセージを送信する。
|
attach, detach, emitLog, getInstance, receiveSync, receiveSync, receiveSync, send, sendSync, sendSync
public Context(javax.jms.Connection conn, JmsMessagingProvider provider) throws javax.jms.JMSException
conn
- JMSセッションprovider
- 各種設定javax.jms.JMSException
- JMSプロバイダ側でエラーが発生した場合public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class MessagingContext
public java.lang.String sendMessage(SendingMessage message)
sendMessage
in class MessagingContext
message
- 送信メッセージpublic ReceivedMessage receiveMessage(java.lang.String queueName, java.lang.String messageId, long timeout)
receiveMessage
in class MessagingContext
queueName
- 受信キューの論理名messageId
- 送信電文のメッセージID (応答受信でない場合はnull)timeout
- 応答タイムアウト
(単位:ミリ秒、0以下の数値の場合はブロックし続ける)protected javax.jms.Queue getQueueOf(java.lang.String queueName) throws MessagingException
queueName
- 取得するキューの論理名MessagingException
- 指定されたキュー名に対するキューオブジェクトが登録されて
いなかった場合。protected java.lang.String getQueueNameOf(javax.jms.Destination queue)
queue
- キューインスタンスprotected javax.jms.Queue getPoisonQueueOf(java.lang.String queueName) throws MessagingException
queueName
- 受信キューの論理名MessagingException
- 退避キューが定義されていない場合。protected void rejectIfExpiresRedeliverLimit(javax.jms.Message message, java.lang.String queueName) throws MessagingException, javax.jms.JMSException
message
- 受信メッセージqueueName
- 受信キューの論理名MessagingException
- 受信リトライ回数が規定回数を越えていた場合javax.jms.JMSException
- JMS API側で問題が発生した場合。