0

我正在使用 spring 集成int-jms:message-driven-channel-adapter来使用来自慰藉队列的消息。

我在服务器日志中看到下面提到的错误

org.springframework.jms.listener.DefaultMessageListenerContainer- Execution of JMS message listener failed, and no ErrorHandler has been set.
javax.jms.TransactionRolledBackException: Error comitting - transaction rolled back (Transaction '12427' unexpectedly rolled back during commit attempt. (((Client name: xxxx.yyyy.com/7034/#0002000a   Local addr: 123123  Remote addr: aaa.bbb.com:12345) - )  com.solacesystems.jcsmp.JCSMPErrorResponseException: 503: Message Consume Failure [Subcode:48]))

JMS配置如下

<int-jms:message-driven-channel-adapter
        id="IdMessageDrivenChannelAdapter" send-timeout="5000"
        max-messages-per-task="-1"
        idle-task-execution-limit="100"
        max-concurrent-consumers="2"
        connection-factory="appCachedConnectionFactory" destination="appInQueue"
        channel="reqChannel" error-channel="errorChannel"
        acknowledge="transacted" />

任何解决此错误的指针都会非常有帮助。

4

1 回答 1

0

该错误表示在事务期间未能使用消息。错误的原因可能是许多不同的问题,例如消息被删除/过期,或者找不到队列或关闭。

您可以分析其余的 API 日志或 Solace 路由器上的事件日志,以找出无法使用消息的原因。

您在评论中链接的子代码文档是指 Solace .NET API。要查看错误列表及其子代码以及 JCSMP 错误的解释,请参阅此处的文档:http: //docs.solace.com/API-Developer-Online-Ref-Documentation/java/constant-values.html

于 2017-06-21T15:14:17.337 回答