消息未按顺序进入 Java Camel 路由应用程序

问题描述

我面临的问题很奇怪。我的应用程序是一个 Spring Boot 应用程序,我使用 Camel 路由来侦听 AMQ 7,然后处理消息,直到它存储在数据库中或发送到另一个 AMQ 7 实例。问题是消息是通过 Camel 从 AMQ 消费的,但它没有维护应用程序日志中的顺序。这意味着在第一条消息的流程完成之前,我可以看到日志开始打印,因为另一条消息落入 AMQ,这使得很难跟踪日志属于来自 AMQ 的哪条消息。 AMQ 或 Camel 路线是否有问题?任何建议都非常感谢。

解决方法

如果启用了 asyncConsumer 选项,此问题可能与骆驼路线有关,有关详细信息,请参阅文档https://camel.apache.org/components/latest/activemq-component.html