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)
メソッドに処理を委譲する。