2016-12-28 5 views
1

私のアプリケーションでは、Solace MQを使用しており、HermesJMSツールを使用してローカル環境のMQにメッセージを送信しています。Solace MQにバルクメッセージを送信できません

MQにバルクメッセージを送信しようとすると、私は以下のExceptionを受け取ります。私は慰めMQ

Caused by: com.solacesystems.jcsmp.transaction.RollbackException: Transaction '404' unexpectedly rolled back during commit attempt. (((Client name: ILCH-D889198/13740/#00020005 Local addr: 10.80.29.163:51052 Remote addr: appwpcuteai09.ntrs.com:55555) -) com.solacesystems.jcsmp.JCSMPErrorResponseException: 503: Transaction Failure: The number of messages in the transaction exceeds the limit [Subcode:63]) 
       at com.solacesystems.jcsmp.impl.transaction.TSState$StateCommitting.handleAsyncAdCtrl(TSState.java:528) ~[jcsmp-7.0.0.63.jar:?] 
       at com.solacesystems.jcsmp.impl.transaction.TransactedSessionImpl.handleControlMessage(TransactedSessionImpl.java:326) ~[jcsmp-7.0.0.63.jar:?] 
       at com.solacesystems.jcsmp.impl.transaction.TransactedSessionManager.dispatchAssuredCtrlMessage(TransactedSessionManager.java:91) ~[jcsmp-7.0.0.63.jar:?] 
       at com.solacesystems.jcsmp.impl.transaction.TransactedSessionManagerSmf.handleAsyncAssuredCtrlMessage(TransactedSessionManagerSmf.java:167) ~[jcsmp-7.0.0.63.jar:?] 

からのメッセージを消費する春の統合コードを使用すると、INT-JMSでいくつかのプロパティに関連し、この例外です:メッセージドリブン・チャネル・アダプタSpring統合または慰めMQプロパティから使用します。提案してください。

+2

詳細をご記入ください。 'int-jms:message-driven-channel-adapter'が** send **操作にどのように関係しているかは完全にはっきりしていません。 OTOHの例外もかなり明確です: 'トランザクション内のメッセージの数が制限を超えています '。ですから、Solace MQにそのような問題にどのように対処してください。さらに、「バルクメッセージ」をどのように送っているかを知ることは素晴らしいことです。 –

+0

int-jms:メッセージ駆動型チャネルアダプタは、Solace MQからのメッセージを消費するために使用されます。私はメッセージをMQに入れるためにhermesJMSの通行料を使用しています。そのツールに貼り付けてコピーするだけです。 –

+1

そして?それは助けにはならない。その例外はどこにありますか –

答えて

2

例外は、1回のトランザクションで多すぎるメッセージを送信していることを意味します。

現在のところ、Solaceは単一のトランザクションで最大256個のメッセージをサポートしています。最大値を上げることは、Solaceの機能候補リストにありますが、まだ特定のリリースにコミットしていません。

今のところ、唯一の回避策は、トランザクション内のメッセージ数を減らすことです。

関連する問題