我有一个简单的 Spring Integration 2.0.1 聚合器设置,使用 SimpleMessageStore 和定义的常规 Spring MessageGroupStoreReaper ,以便能够实现分组超时机制(它在 Spring 中简单地用作聚合器“超时”参数)集成1.0.4)。
我已经调试并验证了消息是否基于 groupId 在 SimpleMessageStore 中正确聚合,但超时后 MessageGroupStoreReaper 失败,并出现“无法通过 getter 访问属性‘消息’”AccessException。精确的错误位于MessagingMethodInvokerHelper class内,它断言 messages 字段不为空。不知何故,聚合的消息在 Invoker 执行期间似乎不可用,导致“消息的方法参数无效:需要单个有效负载。”IllegalStateException。
此问题的原因可能是什么以及如何解决?
我已经尝试更新到 2.0.6,但问题仍然存在。
***编辑 我将 SI 依赖项更新为 2.2.5,但这并没有解决我的问题。我使用Spring 3.0.7。
最佳答案
只有一种解决方案可以解决这个问题,只需升级到最新版本的 Spring Integration - 2.2.6。 2.0 现已不再支持。抱歉
关于java - MessageGroupStoreReaper 失败并显示 "was expecting a single payload"IllegalStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19810575/