public class WmqMessagingContext extends MessagingContext
MessagingContextの実装クラス。| コンストラクタと説明 |
|---|
WmqMessagingContext(WmqMessagingProvider provider,
com.ibm.mq.MQQueueManager mqQueueManager,
java.util.Map<java.lang.String,com.ibm.mq.MQQueue> sendingMqQueues,
com.ibm.mq.MQQueue receivedMqQueue,
com.ibm.mq.MQQueue poisonMqQueue)
コンストラクタ。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
backout()
分散トランザクションをバックアウトする。
|
void |
begin()
分散トランザクションを開始する。
|
protected void |
checkReceivedQueueName(java.lang.String receiveQueue)
指定された受信キュー名に対応するキューが登録されているか否かをチェックする。
|
void |
close()
現在のセッションを終了し、保持しているリソースを開放する。
|
void |
commit()
分散トランザクションをコミットする。
|
static WmqMessagingContext |
getInstance()
カレントスレッドに紐づけられている
WmqMessagingContextを取得する。 |
java.sql.Connection |
getJdbcConnection(javax.sql.XADataSource xaDataSource)
MQQueueManagerからConnectionを取得する。 |
protected com.ibm.mq.MQQueue |
getMQQueue(java.util.Map<java.lang.String,com.ibm.mq.MQQueue> mqQueues,
java.lang.String queueName)
MQQueueマップから指定されたキュー名のMQQueueを取得する。 |
ReceivedMessage |
receiveMessage(java.lang.String receiveQueue,
java.lang.String messageId,
long timeout)
指定した受信キュー上のメッセージを取得する。
|
java.lang.String |
sendMessage(SendingMessage sendingMessage)
メッセージを送信する。
|
attach, detach, emitLog, receiveSync, receiveSync, receiveSync, send, sendSync, sendSyncpublic WmqMessagingContext(WmqMessagingProvider provider, com.ibm.mq.MQQueueManager mqQueueManager, java.util.Map<java.lang.String,com.ibm.mq.MQQueue> sendingMqQueues, com.ibm.mq.MQQueue receivedMqQueue, com.ibm.mq.MQQueue poisonMqQueue)
provider - WmqMessagingProvidermqQueueManager - MQQueueManagersendingMqQueues - 送信先MQQueueマップ(キーはキュー名)receivedMqQueue - 受信先MQQueuepoisonMqQueue - ポイズンメッセージ送信先MQQueuepublic static WmqMessagingContext getInstance()
WmqMessagingContextを取得する。WmqMessagingContextpublic java.lang.String sendMessage(SendingMessage sendingMessage)
WmqMessagingProvider.putMessage(MQQueue, SendingMessage)メソッドに処理を委譲する。sendMessage クラス内 MessagingContextsendingMessage - 送信メッセージpublic ReceivedMessage receiveMessage(java.lang.String receiveQueue, java.lang.String messageId, long timeout)
WmqMessagingProvider.getMessage(MQQueue, String, long, MQQueue)メソッドに処理を委譲する。receiveMessage クラス内 MessagingContextreceiveQueue - 受信キューの論理名messageId - 送信電文のメッセージID (応答受信でない場合はnull)timeout - 応答タイムアウト
(単位:ミリ秒、0以下の数値の場合はブロックし続ける)protected void checkReceivedQueueName(java.lang.String receiveQueue)
throws MessagingException
receiveQueue - 受信キュー名MessagingException - 指定されたキュー名に対するMQQueueが登録されていなかった場合protected com.ibm.mq.MQQueue getMQQueue(java.util.Map<java.lang.String,com.ibm.mq.MQQueue> mqQueues,
java.lang.String queueName)
throws MessagingException
MQQueueマップから指定されたキュー名のMQQueueを取得する。mqQueues - MQQueueマップqueueName - キュー名MQQueueMessagingException - 指定されたキュー名に対するMQQueueが登録されていなかった場合public void close()
WmqMessagingProvider.close(Map)メソッド、
WmqMessagingProvider.close(MQQueue)メソッド、
WmqMessagingProvider.disconnect(MQQueueManager)メソッド
を順に呼び出し、処理を委譲する。close インタフェース内 java.io.Closeableclose インタフェース内 java.lang.AutoCloseableclose クラス内 MessagingContextpublic java.sql.Connection getJdbcConnection(javax.sql.XADataSource xaDataSource)
throws java.sql.SQLException,
javax.transaction.xa.XAException
MQQueueManagerからConnectionを取得する。
WmqMessagingProvider.getJdbcConnection(MQQueueManager, XADataSource)メソッドに処理を委譲する。xaDataSource - XAデータソースConnectionjava.sql.SQLException - Connectionの取得に失敗した場合javax.transaction.xa.XAException - Connectionの取得に失敗した場合public void begin()
WmqMessagingProvider.begin(MQQueueManager)メソッドに処理を委譲する。public void commit()
WmqMessagingProvider.commit(MQQueueManager)メソッドに処理を委譲する。public void backout()
WmqMessagingProvider.backout(MQQueueManager)メソッドに処理を委譲する。