无法向 Solace MQ 发送批量消息
Posted
技术标签:
【中文标题】无法向 Solace MQ 发送批量消息【英文标题】:Not able to send bulk messages to Solace MQ 【发布时间】:2017-05-13 03:51:26 【问题描述】:在我的应用程序中,我们使用 Solace MQ 并使用 HermesJMS 工具向本地环境中的 MQ 发送消息。
当我尝试向 MQ 发送批量消息时,我得到下面提到的异常。我使用 Spring Integration 代码来使用来自 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:?]
此异常是否与 int-jms:message-driven-channel-adapter 中的某些属性相关,这些属性用于 Spring 集成或 Solace MQ 属性。请提出建议。
【问题讨论】:
请详细说明。这完全不清楚 `int-jms:message-driven-channel-adapter` 与 send 操作的关系。 OTOH 异常也很清楚:The number of messages in the transaction exceeds the limit
。因此,请咨询 Solace MQ 如何处理此类问题。另外,很高兴看到您真正发送“批量消息”的方式。
int-jms:message-driven-channel-adapter 用于消费来自 Solace MQ 的消息。我正在使用 hermesJMS toll 将消息放在 MQ 中。它只是在工具中复制粘贴。
然后呢?那没有帮助。你哪里有这个例外
当我将批量消息放入工具时,我在 STS 控制台上看到该异常。当我注释掉 jms 适配器时,我仍然在控制台上看到异常。所以它的 Solace MQ
好的。因此,由于我不熟悉 Solace,因此我无法从 Spring 集成的角度为您提供帮助。对不起。但对于其他人来说,最好在问题中反映你的问题的现实,不要用无用的信息污染,比如int-jms:message-driven-channel-adapter
【参考方案1】:
异常意味着您在单个事务中发送了太多消息。
截至目前,Solace 最多支持单个事务中的 256 条消息。增加最大值已在 Solace 的候选功能列表中,但尚未提交到特定版本。
目前,唯一的解决方法是减少事务中的消息数量。
【讨论】:
以上是关于无法向 Solace MQ 发送批量消息的主要内容,如果未能解决你的问题,请参考以下文章