在我的应用程序中,我们使用 Solace MQ 并使用 HermesJMS 工具将消息发送到本地环境中的 MQ。
当我尝试向 MQ 发送批量消息时,出现下面提到的异常。我使用 Spring Integration 代码来消费来自 Solace 的消息 在 com.solacesystems.jcsmp.impl.transaction.TSState$StateCommitting.handleAsyncAdCtrl(TSState.java:528) ~[jcsmp-7.0.0.63.jar:?] 在 com.solacesystems.jcsmp.impl.transaction.TransactedSessionImpl.handleControlMessage(TransactedSessionImpl.java:326) ~[jcsmp-7.0.0.63.jar:?] 在 com.solacesystems.jcsmp.impl.transaction.TransactedSessionManager.dispatchAssuredCtrlMessage(TransactedSessionManager.java:91) ~[jcsmp-7.0.0.63.jar:?] 在 com.solacesystems.jcsmp.impl.transaction.TransactedSessionManagerSmf.handleAsyncAssuredCtrlMessage(TransactedSessionManagerSmf.java:167) ~[jcsmp-7.0.0.63.jar:?]
此异常是否与 Spring 集成或 Solace MQ 属性中使用的 int-jms:message-driven-channel-adapter 中的某些属性相关。请推荐。
异常意味着您在单个事务中发送了太多消息。
截至目前,Solace 在单个事务中最多支持 256 条消息。增加最大值已在 Solace 的候选功能列表中,但尚未承诺特定版本。
目前,唯一的解决方法是减少事务中的消息数量。