3

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.

Artem Bilan
  • 113,505
  • 11
  • 91
  • 118
Prateek Shrivastava
  • 450
  • 2
  • 5
  • 17
  • 2
    Please, elaborate more. That is fully unclear how ` int-jms:message-driven-channel-adapter` is related to the **send** operation. OTOH the exception is pretty clear as well: `The number of messages in the transaction exceeds the limit`. So, consult Solace MQ how deal with such an issue. Plus, that would be great to see how you really send "bulk messages". – Artem Bilan Dec 28 '16 at 20:34
  • int-jms:message-driven-channel-adapter is used to consume message from Solace MQ. I am using hermesJMS toll to put message om the MQ. its simply copy paste in the tool. – Prateek Shrivastava Dec 28 '16 at 21:23
  • 1
    And? That doesn't help. Where do you have that exception – Artem Bilan Dec 28 '16 at 21:26
  • When i put bulk message in the tool, i see that exception on the STS Console.When i comment out jms adapter i still see the exception on the console. So its Solace MQ – Prateek Shrivastava Dec 28 '16 at 21:46
  • 1
    OK. So, since I'm not familiar with the Solace I can't help you from the Spring Integration perspective. Sorry. But for other guys it would be better to reflect reality of your problem in the question and don't pollute with a useless info, like `int-jms:message-driven-channel-adapter` – Artem Bilan Dec 28 '16 at 21:52

1 Answers1

3

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.

Russell Sim
  • 1,693
  • 2
  • 14
  • 22