2016-12-28 3 views
1

Dans mon application, nous utilisons Solace MQ et utiliser l'outil HermesJMS pour envoyer des messages à MQ dans l'environnement local.Impossible d'envoyer des messages en bloc à Solace MQ

Lorsque j'essaie d'envoyer des messages en bloc au MQ, je reçois l'exception ci-dessous. J'utilise le code d'intégration du printemps pour consommer message du Solace 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:?] 

est cette exception liée à une propriété dans int-jms: message-canal en adaptateur utilisé de l'intégration Spring ou des propriétés Solace MQ. Veuillez suggérer.

+2

S'il vous plaît, élaborer plus. On ne sait pas exactement comment 'int-jms: message-driven-channel-adapter' est lié à l'opération ** send **. OTOH l'exception est assez claire aussi: 'Le nombre de messages dans la transaction dépasse la limite'. Alors, consultez Solace MQ comment faire face à un tel problème. De plus, ce serait formidable de voir comment vous envoyez vraiment des "messages en vrac". –

+0

int-jms: message-driven-canal-adaptateur est utilisé pour consommer des messages de Solace MQ. J'utilise le droit d'hermesJMS pour mettre le message om le MQ. c'est simplement copier coller dans l'outil. –

+1

Et? Cela n'aide pas. Où avez-vous cette exception –

Répondre

2

L'exception signifie que vous envoyez trop de messages en une seule transaction.

À l'heure actuelle, Solace prend en charge un maximum de 256 messages en une seule transaction. Augmenter le maximum est sur la liste des fonctionnalités de Solace, mais pas encore sur une version spécifique.

Pour l'instant, la seule solution consiste à réduire le nombre de messages dans la transaction.