public class WmqMessagingProvider extends java.lang.Object implements MessagingProvider, Initializable
MessagingProvider
の実装クラス。Constructor and Description |
---|
WmqMessagingProvider() |
Modifier and Type | Method and Description |
---|---|
protected void |
backout(com.ibm.mq.MQQueueManager mqQueueManager)
分散トランザクションをバックアウトする。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable) メソッド
に例外処理を委譲する。 |
protected void |
begin(com.ibm.mq.MQQueueManager mqQueueManager)
分散トランザクションを開始する。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable) メソッド
に例外処理を委譲する。 |
protected void |
checkPoisonSetting()
退避キューの設定不備がないことをチェックする。
チェック内容は下記のとおり。
receivedQueueName が指定されない場合は、
poisonQueueNamePattern とpoisonQueueName も指定されないこと。
receivedQueueName が指定された場合は、
poisonQueueNamePattern とpoisonQueueName の両方が指定されないか、
いずれか一方のみ指定されること。
設定不備が見つかった場合は実行例例外を送出する。 |
protected void |
checkXa()
分散トランザクションを使用するに設定されていることをチェックする。
useXa プロパティがfalseの場合はIllegalStateException を送出する。 |
protected void |
close(java.util.Map<java.lang.String,com.ibm.mq.MQQueue> mqQueues)
|
protected void |
close(com.ibm.mq.MQQueue mqQueue)
指定された
MQQueue をクローズする。
MQExceptionが送出された場合はTRACEレベルのログを出力し、MQExceptionを送出しない。
|
protected void |
commit(com.ibm.mq.MQQueueManager mqQueueManager)
分散トランザクションをコミットする。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable) メソッド
に例外処理を委譲する。 |
MessagingContext |
createContext()
WmqMessagingContext を生成する。 |
protected com.ibm.mq.MQQueueManager |
createMQQueueManager()
キューマネージャ名称を指定して
MQQueueManager を生成する。 |
protected void |
disconnect(com.ibm.mq.MQQueueManager mqQueueManager)
MQQueueManager の接続を切断する。
MQExceptionが送出された場合はTRACEレベルのログを出力し、MQExceptionを送出しない。 |
protected com.ibm.mq.MQGetMessageOptions |
getGetMessageOptions(java.lang.String messageId,
long timeout)
MQQueue からのメッセージ読み取りを制御するオプションを取得する。
下記オプションを指定した値を返す。
getGetSyncpointOption() メソッドが返す同期点オプション
CMQC.MQPMO_NEW_MSG_ID
CMQC.MQGMO_WAIT
相関IDに指定するメッセージIDが指定された場合はCMQC.MQMO_MATCH_CORREL_ID 、
指定がない場合はCMQC.MQMO_NONE
タイムアウト値。タイムアウト値が0以下の場合はdefaultResponseTimeout プロパティの値を使用する。
|
protected int |
getGetSyncpointOption()
メッセージ読み取り時に使用する同期点オプションを取得する。
useXa プロパティがtrueの場合はCMQC.MQPMO_SYNCPOINT 、
falseの場合はCMQC.MQPMO_NO_SYNCPOINT を返す。 |
protected java.sql.Connection |
getJdbcConnection(com.ibm.mq.MQQueueManager mqQueueManager,
javax.sql.XADataSource xaDataSource)
MQQueueManager からConnection を取得する。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable) メソッド
に例外処理を委譲する。 |
protected ReceivedMessage |
getMessage(com.ibm.mq.MQQueue receivedMqQueue,
java.lang.String messageId,
long timeout,
com.ibm.mq.MQQueue poisonMqQueue)
指定された
MQQueue から受信メッセージを読み込む。
MQQueue から読み込んだMQMessage から受信メッセージを作成する。
読み込んだ MQMessage がポイズンメッセージの場合は
processPoisonMessage(MQQueue, MQMessage) メソッドに処理を委譲する。
MQMessage がポイズンメッセージであるか否かの判定は
isPoisonMessage(MQMessage) メソッドが行う。
メッセージ受信前のMQMDフィールドの設定は
WmqMqmdFieldsOperator.setFieldsBeforeReceive(String, MQMessage) メソッドに委譲する。
MQQueue への書き込みを制御するオプションはgetGetMessageOptions(String, long) メソッドから取得する。
メッセージ受信後のMQMDフィールドの取得は WmqMqmdFieldsOperator.getFieldsAfterReceive(MQMessage, ReceivedMessage) メソッドに委譲する。
MQException が送出され、理由コードがCMQC.MQRC_NO_MSG_AVAILABLE の場合はnullを返す。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable) メソッド
に例外処理を委譲する。 |
protected com.ibm.mq.MQQueue |
getMQQueue(com.ibm.mq.MQQueueManager mqQueueManager,
java.lang.String queueName,
int openOptions)
指定されたキュー名とオプションを使用して、正常にオープンされた
MQQueue を取得する。 |
protected java.util.Map<java.lang.String,com.ibm.mq.MQQueue> |
getMQQueues(com.ibm.mq.MQQueueManager mqQueueManager,
java.util.Collection<java.lang.String> queueNames,
int openOptions)
指定されたキュー名とオプションを使用して、正常にオープンされた
MQQueue を取得する。 |
protected int |
getPoisonQueueOpenOptions()
ポイズンメッセージの退避先
MQQueue のオープンを制御するオプションを取得する。
getSendingQueueOpenOptions() メソッドに処理を委譲する。 |
protected com.ibm.mq.MQPutMessageOptions |
getPutMessageOptions()
MQQueue へのメッセージ書き込みを制御するオプションを取得する。
下記オプションを指定した値を返す。
getPutSyncpointOption() メソッドが返す同期点オプション
CMQC.MQPMO_NEW_MSG_ID
|
protected com.ibm.mq.MQPutMessageOptions |
getPutPoisonMessageOptions()
MQQueue へのポイズンメッセージ書き込みを制御するオプションを取得する。
getPutMessageOptions() に処理を委譲する。 |
protected int |
getPutSyncpointOption()
メッセージ書き込み時に使用する同期点オプションを取得する。
useXa プロパティがtrueの場合はCMQC.MQPMO_SYNCPOINT 、
falseの場合はCMQC.MQPMO_NO_SYNCPOINT を返す。 |
protected int |
getReceivedQueueOpenOptions()
受信先
MQQueue のオープンを制御するオプションを取得する。
下記オプションを指定した値を返す。
CMQC.MQOO_INPUT_SHARED
CMQC.MQOO_FAIL_IF_QUIESCING
|
protected int |
getSendingQueueOpenOptions()
送信先
MQQueue のオープンを制御するオプションを取得する。
下記オプションを指定した値を返す。
CMQC.MQOO_OUTPUT
CMQC.MQOO_FAIL_IF_QUIESCING
|
void |
initialize()
IBM MQの初期化処理を行う。
下記の処理を行う。
checkPoisonSetting() メソッドを呼び出し退避キューの設定不備がないことをチェックする。
接続モード(CMQC.TRANSPORT_PROPERTY )をバインディングモードに設定する。
スレッド類縁性(CMQC.THREAD_AFFINITY_PROPERTY )にuseXa プロパティの値を設定する。
useProductSystemErrorOutput プロパティがfalseの場合はIBM MQによる標準エラー出力を無効化する。
接続モード(CMQC.TRANSPORT_PROPERTY )をバインディングモードに設定する。
poisonQueueNamePattern が指定された場合はreceivedQueueName を使用してフォーマットした退避キュー名を設定する。
|
protected boolean |
isPoisonMessage(com.ibm.mq.MQMessage mqMessage)
|
protected void |
processPoisonMessage(com.ibm.mq.MQQueue poisonMqQueue,
com.ibm.mq.MQMessage mqMessage)
ポイズンメッセージの処理を行う。
|
protected java.lang.String |
putMessage(com.ibm.mq.MQQueue mqQueue,
SendingMessage sendingMessage)
送信メッセージを指定された
MQQueue に書き込む。 |
WmqMessagingProvider |
setBackoutLimit(int backoutLimit)
バックアウト回数の上限値を設定する。
デフォルトは0。
|
WmqMessagingProvider |
setBackoutLimitExceededExitCode(int backoutLimitExceededExitCode)
バックアウト上限を超えた場合に使用する終了コード(プロセスを終了(
System.exit(int) )する際に設定する値)を設定する。
デフォルトは190。 |
WmqMessagingProvider |
setBackoutLimitExceededFailureCode(java.lang.String backoutLimitExceededFailureCode)
バックアウト上限を超えた場合に使用する障害コードを設定する。
|
MessagingProvider |
setDefaultResponseTimeout(long defaultResponseTimeout)
デフォルトタイムアウト値(単位:msec)を設定する。
デフォルトは300秒。
|
MessagingProvider |
setDefaultTimeToLive(long defaultTimeToLive)
送信電文の有効期間(単位:msec)を設定する。
デフォルトは60秒。
|
WmqMessagingProvider |
setMessagingExceptionFactory(MessagingExceptionFactory messagingExceptionFactory)
MessagingException ファクトリオブジェクトを設定する。
デフォルトはBasicWmqMessagingExceptionFactory 。 |
WmqMessagingProvider |
setMqmdFieldsOperator(WmqMqmdFieldsOperator mqmdFieldsOperator)
WmqMqmdFieldsOperator オブジェクトを設定する。
デフォルトはBasicWmqMqmdFieldsOperator 。 |
void |
setPoisonQueueName(java.lang.String poisonQueueName)
退避キュー名(論理名)を設定する。
|
void |
setPoisonQueueNamePattern(java.lang.String poisonQueueNamePattern)
退避キュー名パターン(論理名)を設定する。
|
void |
setPutPoisonFailedExitCode(int putPoisonFailedExitCode)
ポイズンメッセージの送信に失敗した場合に使用する終了コード(プロセスを終了(
System.exit(int) )する際に設定する値)を設定する。
デフォルトは191。 |
void |
setPutPoisonFailedFailureCode(java.lang.String putPoisonFailedFailureCode)
ポイズンメッセージの送信に失敗した場合に使用する障害コードを設定する。
|
WmqMessagingProvider |
setQueueManagerName(java.lang.String queueManagerName)
キューマネージャ名称を設定する。
|
WmqMessagingProvider |
setReceivedQueueName(java.lang.String receivedQueueName)
受信キュー名(論理名)を設定する。
|
WmqMessagingProvider |
setSendingQueueNames(java.util.List<java.lang.String> sendingQueueNames)
送信キュー名(論理名)リストを設定する。
|
void |
setUseProductSystemErrorOutput(boolean useProductSystemErrorOutput)
IBM MQによる
MQException 発生時の標準エラー出力を使用するか否かを設定する。
デフォルトはfalse。 |
void |
setUseXa(boolean useXa)
分散トランザクションを使用するか否かを設定する。
デフォルトはtrue。
|
public void initialize()
checkPoisonSetting()
メソッドを呼び出し退避キューの設定不備がないことをチェックする。CMQC.TRANSPORT_PROPERTY
)をバインディングモードに設定する。CMQC.THREAD_AFFINITY_PROPERTY
)にuseXa
プロパティの値を設定する。useProductSystemErrorOutput
プロパティがfalseの場合はIBM MQによる標準エラー出力を無効化する。CMQC.TRANSPORT_PROPERTY
)をバインディングモードに設定する。poisonQueueNamePattern
が指定された場合はreceivedQueueName
を使用してフォーマットした退避キュー名を設定する。initialize
in interface Initializable
protected void checkPoisonSetting()
receivedQueueName
が指定されない場合は、
poisonQueueNamePattern
とpoisonQueueName
も指定されないこと。
receivedQueueName
が指定された場合は、
poisonQueueNamePattern
とpoisonQueueName
の両方が指定されないか、
いずれか一方のみ指定されること。
public MessagingContext createContext()
WmqMessagingContext
を生成する。
指定された設定情報からMQQueueManager
を生成し、MQQueue
マップ(送信先と受信先とポイズンメッセージ送信先)の初期化を行う。MQQueueManager
の生成はcreateMQQueueManager()
メソッドに委譲する。 送信先MQQueue
マップの初期化はgetMQQueues(MQQueueManager, Collection, int)
メソッド、 受信先MQQueue
とポイズンメッセージ送信先MQQueue
の初期化はgetPoisonQueueOpenOptions()
メソッドに委譲する。 送信先MQQueue
のオープンを制御するオプションはgetSendingQueueOpenOptions()
メソッド、 受信先MQQueue
のオープンを制御するオプションはgetReceivedQueueOpenOptions()
メソッド、 ポイズンメッセージ送信先MQQueue
のオープンを制御するオプションはgetPoisonQueueOpenOptions()
メソッド、 から取得する。 MQExceptionを捕捉した場合は、MessagingExceptionFactory.createMessagingException(String, Throwable)
メソッド に例外処理を委譲する。
createContext
in interface MessagingProvider
WmqMessagingContext
protected com.ibm.mq.MQQueueManager createMQQueueManager() throws com.ibm.mq.MQException
MQQueueManager
を生成する。MQQueueManager
com.ibm.mq.MQException
- MQQueueManager
の生成に失敗した場合protected int getSendingQueueOpenOptions()
MQQueue
のオープンを制御するオプションを取得する。
下記オプションを指定した値を返す。
CMQC.MQOO_OUTPUT
CMQC.MQOO_FAIL_IF_QUIESCING
MQQueue
のオープンを制御するオプションprotected int getReceivedQueueOpenOptions()
MQQueue
のオープンを制御するオプションを取得する。
下記オプションを指定した値を返す。
CMQC.MQOO_INPUT_SHARED
CMQC.MQOO_FAIL_IF_QUIESCING
MQQueue
のオープンを制御するオプションprotected int getPoisonQueueOpenOptions()
MQQueue
のオープンを制御するオプションを取得する。
getSendingQueueOpenOptions()
メソッドに処理を委譲する。MQQueue
のオープンを制御するオプションprotected java.util.Map<java.lang.String,com.ibm.mq.MQQueue> getMQQueues(com.ibm.mq.MQQueueManager mqQueueManager, java.util.Collection<java.lang.String> queueNames, int openOptions) throws com.ibm.mq.MQException
MQQueue
を取得する。mqQueueManager
- MQQueueManager
queueNames
- キュー名リストopenOptions
- MQQueue
のオープンを制御するオプションMQQueue
マップ(キーはキュー名)com.ibm.mq.MQException
- MQQueue
のオープンに失敗した場合protected com.ibm.mq.MQQueue getMQQueue(com.ibm.mq.MQQueueManager mqQueueManager, java.lang.String queueName, int openOptions) throws com.ibm.mq.MQException
MQQueue
を取得する。mqQueueManager
- MQQueueManager
queueName
- キュー名openOptions
- MQQueue
のオープンを制御するオプションMQQueue
。キュー名の指定がない場合はnullcom.ibm.mq.MQException
- MQQueue
のオープンに失敗した場合protected java.lang.String putMessage(com.ibm.mq.MQQueue mqQueue, SendingMessage sendingMessage)
MQQueue
に書き込む。
送信メッセージからMQMessage
を作成しMQQueue
に書き込む。
WmqMqmdFieldsOperator.setFieldsBeforeSend(SendingMessage, MQMessage, long)
メソッドに委譲する。
MQQueue
への書き込みを制御するオプションはgetGetMessageOptions(String, long)
メソッドから取得する。
WmqMqmdFieldsOperator.getFieldsAfterSend(MQMessage, SendingMessage)
メソッドに委譲する。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable)
メソッドに例外処理を委譲する。mqQueue
- MQQueue
sendingMessage
- 送信メッセージprotected com.ibm.mq.MQPutMessageOptions getPutMessageOptions()
MQQueue
へのメッセージ書き込みを制御するオプションを取得する。
下記オプションを指定した値を返す。
getPutSyncpointOption()
メソッドが返す同期点オプションCMQC.MQPMO_NEW_MSG_ID
MQQueue
へのメッセージ書き込みを制御するオプションprotected com.ibm.mq.MQPutMessageOptions getPutPoisonMessageOptions()
MQQueue
へのポイズンメッセージ書き込みを制御するオプションを取得する。
getPutMessageOptions()
に処理を委譲する。MQQueue
へのメッセージ書き込みを制御するオプションprotected int getPutSyncpointOption()
useXa
プロパティがtrueの場合はCMQC.MQPMO_SYNCPOINT
、
falseの場合はCMQC.MQPMO_NO_SYNCPOINT
を返す。protected ReceivedMessage getMessage(com.ibm.mq.MQQueue receivedMqQueue, java.lang.String messageId, long timeout, com.ibm.mq.MQQueue poisonMqQueue)
MQQueue
から受信メッセージを読み込む。
MQQueue
から読み込んだMQMessage
から受信メッセージを作成する。
MQMessage
がポイズンメッセージの場合は
processPoisonMessage(MQQueue, MQMessage)
メソッドに処理を委譲する。
MQMessage
がポイズンメッセージであるか否かの判定は
isPoisonMessage(MQMessage)
メソッドが行う。
メッセージ受信前のMQMDフィールドの設定は
WmqMqmdFieldsOperator.setFieldsBeforeReceive(String, MQMessage)
メソッドに委譲する。
MQQueue
への書き込みを制御するオプションはgetGetMessageOptions(String, long)
メソッドから取得する。
WmqMqmdFieldsOperator.getFieldsAfterReceive(MQMessage, ReceivedMessage)
メソッドに委譲する。
MQException
が送出され、理由コードがCMQC.MQRC_NO_MSG_AVAILABLE
の場合はnullを返す。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable)
メソッド
に例外処理を委譲する。receivedMqQueue
- MQQueue
messageId
- 相関IDに指定するメッセージIDtimeout
- タイムアウト値(単位:msec)poisonMqQueue
- ポイズンメッセージ送信先MQQueue
。指定がない場合はnullprotected boolean isPoisonMessage(com.ibm.mq.MQMessage mqMessage)
mqMessage
- MQMessage
protected void processPoisonMessage(com.ibm.mq.MQQueue poisonMqQueue, com.ibm.mq.MQMessage mqMessage) throws ProcessAbnormalEnd, MessagingException
ポイズンメッセージ送信先MQQueue
の指定有無により処理が分かれる。 ポイズンメッセージ送信先MQQueue
の指定がない場合 メッセージ受信処理が無限ループになるのを防止するために、ProcessAbnormalEnd
を送出しプロセスを異常終了させる。ProcessAbnormalEnd
の終了コードと障害コードには、backoutLimitExceededExitCode
プロパティとbackoutLimitExceededFailureCode
プロパティを指定する。 ポイズンメッセージ送信先MQQueue
が指定された場合 FATALレベルで障害ログを出力し、指定されたMQQueue
にポイズンメッセージを送信する。 送信時は、メッセージ存続時間を無制限、元々設定されていたメッセージIDを相関IDに設定する。 ポイズンメッセージの送信でMQException
が送出された場合は、 送出されたMQException
がリトライ可能な例外である場合は再送出し、 リトライ不可の場合は、メッセージ受信処理が無限ループになるのを防止するために、ProcessAbnormalEnd
を送出しプロセスを異常終了させる。ProcessAbnormalEnd
の終了コードと障害コードには、backoutLimitExceededExitCode
プロパティとbackoutLimitExceededFailureCode
プロパティを指定する。
poisonMqQueue
- ポイズンメッセージ送信先MQQueue
。指定がない場合はnullmqMessage
- ポイズンメッセージProcessAbnormalEnd
- ポイズンメッセージ送信先MQQueue
の指定がない場合。
ポイズンメッセージの送信に失敗し、かつリトライ不可な場合MessagingException
- ポイズンメッセージの送信に失敗し、かつリトライ可能な場合protected com.ibm.mq.MQGetMessageOptions getGetMessageOptions(java.lang.String messageId, long timeout)
MQQueue
からのメッセージ読み取りを制御するオプションを取得する。
下記オプションを指定した値を返す。
getGetSyncpointOption()
メソッドが返す同期点オプションCMQC.MQPMO_NEW_MSG_ID
CMQC.MQGMO_WAIT
CMQC.MQMO_MATCH_CORREL_ID
、
指定がない場合はCMQC.MQMO_NONE
defaultResponseTimeout
プロパティの値を使用する。
messageId
- 相関IDに指定するメッセージIDtimeout
- タイムアウト値(単位:msec)MQQueue
からのメッセージ読み取りを制御するオプションprotected int getGetSyncpointOption()
useXa
プロパティがtrueの場合はCMQC.MQPMO_SYNCPOINT
、
falseの場合はCMQC.MQPMO_NO_SYNCPOINT
を返す。protected void disconnect(com.ibm.mq.MQQueueManager mqQueueManager)
MQQueueManager
の接続を切断する。
MQExceptionが送出された場合はTRACEレベルのログを出力し、MQExceptionを送出しない。mqQueueManager
- MQQueueManager
protected void close(java.util.Map<java.lang.String,com.ibm.mq.MQQueue> mqQueues)
mqQueues
- MQQueue
マップprotected void close(com.ibm.mq.MQQueue mqQueue)
MQQueue
をクローズする。
MQExceptionが送出された場合はTRACEレベルのログを出力し、MQExceptionを送出しない。
mqQueue
- MQQueue
protected java.sql.Connection getJdbcConnection(com.ibm.mq.MQQueueManager mqQueueManager, javax.sql.XADataSource xaDataSource) throws java.sql.SQLException, javax.transaction.xa.XAException
MQQueueManager
からConnection
を取得する。
MQExceptionを捕捉した場合は、
MessagingExceptionFactory.createMessagingException(String, Throwable)
メソッド
に例外処理を委譲する。mqQueueManager
- MQQueueManager
xaDataSource
- XAデータソースConnection
java.sql.SQLException
- Connection
の取得に失敗した場合javax.transaction.xa.XAException
- Connection
の取得に失敗した場合protected void checkXa()
useXa
プロパティがfalseの場合はIllegalStateException
を送出する。protected void begin(com.ibm.mq.MQQueueManager mqQueueManager)
MessagingExceptionFactory.createMessagingException(String, Throwable)
メソッド
に例外処理を委譲する。mqQueueManager
- MQQueueManager
protected void commit(com.ibm.mq.MQQueueManager mqQueueManager)
MessagingExceptionFactory.createMessagingException(String, Throwable)
メソッド
に例外処理を委譲する。mqQueueManager
- MQQueueManager
protected void backout(com.ibm.mq.MQQueueManager mqQueueManager)
MessagingExceptionFactory.createMessagingException(String, Throwable)
メソッド
に例外処理を委譲する。mqQueueManager
- MQQueueManager
public WmqMessagingProvider setQueueManagerName(java.lang.String queueManagerName)
queueManagerName
- キューマネージャ名称public WmqMessagingProvider setSendingQueueNames(java.util.List<java.lang.String> sendingQueueNames)
sendingQueueNames
- 送信キュー名(論理名)リストpublic WmqMessagingProvider setReceivedQueueName(java.lang.String receivedQueueName)
receivedQueueName
- 受信キュー名(論理名)public void setPoisonQueueNamePattern(java.lang.String poisonQueueNamePattern)
受信先キュー名を使用した命名規約により退避キュー名が規定されている場合は、 本プロパティを指定する。 本プロパティの設定例を示す。 設定値: "%s.POISON" 受信先キュー名が"TEST"の場合は、"TEST.POISON"となる。
poisonQueueNamePattern
- 退避キュー名パターン(論理名)public void setPoisonQueueName(java.lang.String poisonQueueName)
退避キュー名が受信先キュー名と命名規約により規定されていない場合は、 本プロパティを指定する。
poisonQueueName
- 退避キュー名(論理名)public WmqMessagingProvider setBackoutLimit(int backoutLimit)
backoutLimit
- バックアウト回数の上限値public WmqMessagingProvider setBackoutLimitExceededExitCode(int backoutLimitExceededExitCode)
System.exit(int)
)する際に設定する値)を設定する。
デフォルトは190。backoutLimitExceededExitCode
- バックアウト上限を超えた場合に使用する終了コード(プロセスを終了(System.exit(int)
)する際に設定する値)public WmqMessagingProvider setBackoutLimitExceededFailureCode(java.lang.String backoutLimitExceededFailureCode)
backoutLimitExceededFailureCode
- バックアウト上限を超えた場合に使用する障害コードpublic void setPutPoisonFailedExitCode(int putPoisonFailedExitCode)
System.exit(int)
)する際に設定する値)を設定する。
デフォルトは191。putPoisonFailedExitCode
- ポイズンメッセージの送信に失敗した場合に使用する終了コード(プロセスを終了(System.exit(int)
)する際に設定する値)public void setPutPoisonFailedFailureCode(java.lang.String putPoisonFailedFailureCode)
putPoisonFailedFailureCode
- ポイズンメッセージの送信に失敗した場合に使用する障害コードpublic MessagingProvider setDefaultResponseTimeout(long defaultResponseTimeout)
setDefaultResponseTimeout
in interface MessagingProvider
defaultResponseTimeout
- デフォルトタイムアウト値(単位:msec)public MessagingProvider setDefaultTimeToLive(long defaultTimeToLive)
setDefaultTimeToLive
in interface MessagingProvider
defaultTimeToLive
- 送信電文の有効期間(単位:msec)public WmqMessagingProvider setMqmdFieldsOperator(WmqMqmdFieldsOperator mqmdFieldsOperator)
WmqMqmdFieldsOperator
オブジェクトを設定する。
デフォルトはBasicWmqMqmdFieldsOperator
。mqmdFieldsOperator
- WmqMqmdFieldsOperator
オブジェクトpublic WmqMessagingProvider setMessagingExceptionFactory(MessagingExceptionFactory messagingExceptionFactory)
MessagingException
ファクトリオブジェクトを設定する。
デフォルトはBasicWmqMessagingExceptionFactory
。setMessagingExceptionFactory
in interface MessagingProvider
messagingExceptionFactory
- MessagingException
ファクトリオブジェクトpublic void setUseXa(boolean useXa)
useXa
- 分散トランザクションを使用する場合はtrue@IgnoreProperty(value="IBM MQ8.0\u7cfb\u4ee5\u964d\u3067\u30ed\u30ae\u30f3\u30b0\u6a5f\u80fd\u304c\u524a\u9664\u3055\u308c\u305f\u305f\u3081\u3001\u672c\u30d7\u30ed\u30d1\u30c6\u30a3\u306f\u5ec3\u6b62\u3057\u307e\u3057\u305f\u3002(\u5024\u3092\u8a2d\u5b9a\u3057\u3066\u3082\u610f\u5473\u304c\u3042\u308a\u307e\u305b\u3093)") public void setUseProductSystemErrorOutput(boolean useProductSystemErrorOutput)
MQException
発生時の標準エラー出力を使用するか否かを設定する。
デフォルトはfalse。useProductSystemErrorOutput
- IBM MQによるMQException
発生時の標準エラー出力を使用する場合はtrue