In my application we are using Solace MQ and use HermesJMS tool to send messages to MQ in the local environment.
When i try to send bulk messages to the MQ I get below mentioned Exception. I use Spring Integration code to consume message from the the 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:?]
is this exception related to some property in int-jms:message-driven-channel-adapter used from Spring integration or from Solace MQ properties. Please suggest.
The exception means that you are sending too many messages in a single transaction.
As of right now, Solace supports a maximum of 256 messages in a single transaction. Increasing the maximum is on Solace's feature candidate list, but not committed to a specific release yet.
For now, the only workaround is to reduce the number of messages in the transaction.