首页 文章

ActiveMQ redelivey与Spring Integration Aggregator无法正常工作

提问于
浏览
1

我正在从activeMq嵌入式代理队列中收听消息(说原始消息) . 此消息首先移至通道,然后传递给路由器,并根据条件将其传递给聚合器.Aggregator等待另一条消息,然后将部分或聚合消息传递给服务激活器类 .

基于某些逻辑激活器类决定抛出异常,我们期望在我们配置ActiveMQ代理端重新传递插件时再次重新传递消息 .

没有聚合器消息正在被正确地重新传递并且如果最大重试达到则移动到DLQ但是如果聚合器进入图像则其未被重新传送 . 我不确定,但我认为聚合消息与原始消息不同,这就是由于消息聚合而不是原始消息,因此代理无法将该消息再次移动到队列中 .

有没有办法处理这种情况,并启用重新传递或任何其他方式来将两个原始消息传递给聚合器,以便再次将它们移动到队列以便再次监听,然后再由代理移动到DQL?

1 回答

  • 0

    您的问题不明确 - 如果邮件到达聚合器,则存储它以用于聚合目的;从JMS交付的角度来看,它是成功的 .

    您不能追溯性地“拒绝”已经从经纪人的角度接受的JMS消息 .

    如果我理解你的要求,你需要并发监听器容器> 1(这样可以处理的第二个消息)和由服务激活(不是一个聚合器)调用托起第一线,直到第二个到达自己的代码;如果您的情况发生,则拒绝这两条消息 .

相关问题