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, sendSync
public 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
- WmqMessagingProvider
mqQueueManager
- MQQueueManager
sendingMqQueues
- 送信先MQQueue
マップ(キーはキュー名)receivedMqQueue
- 受信先MQQueue
poisonMqQueue
- ポイズンメッセージ送信先MQQueue
public static WmqMessagingContext getInstance()
WmqMessagingContext
を取得する。WmqMessagingContext
public java.lang.String sendMessage(SendingMessage sendingMessage)
WmqMessagingProvider.putMessage(MQQueue, SendingMessage)
メソッドに処理を委譲する。sendMessage
クラス内 MessagingContext
sendingMessage
- 送信メッセージpublic ReceivedMessage receiveMessage(java.lang.String receiveQueue, java.lang.String messageId, long timeout)
WmqMessagingProvider.getMessage(MQQueue, String, long, MQQueue)
メソッドに処理を委譲する。receiveMessage
クラス内 MessagingContext
receiveQueue
- 受信キューの論理名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
- キュー名MQQueue
MessagingException
- 指定されたキュー名に対するMQQueue
が登録されていなかった場合public void close()
WmqMessagingProvider.close(Map)
メソッド、
WmqMessagingProvider.close(MQQueue)
メソッド、
WmqMessagingProvider.disconnect(MQQueueManager)
メソッド
を順に呼び出し、処理を委譲する。close
インタフェース内 java.io.Closeable
close
インタフェース内 java.lang.AutoCloseable
close
クラス内 MessagingContext
public java.sql.Connection getJdbcConnection(javax.sql.XADataSource xaDataSource) throws java.sql.SQLException, javax.transaction.xa.XAException
MQQueueManager
からConnection
を取得する。
WmqMessagingProvider.getJdbcConnection(MQQueueManager, XADataSource)
メソッドに処理を委譲する。xaDataSource
- XAデータソースConnection
java.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)
メソッドに処理を委譲する。