【发布时间】:2018-09-05 06:35:00
【问题描述】:
我正在尝试使 QueueChannel 的消息持久化,即使应用程序被杀死,我也需要在应用程序再次启动后继续处理消息。 我知道使用 JdbcChannelMessageStore 支持的 QueueChannel 很容易完成,该 JdbcChannelMessageStore 由带有事务轮询器的 ServiceActivator 处理,但是我必须使用 Redis 来完成此任务。
鉴于此,我尝试了由带有事务轮询器的 ServiceActivator 处理的 RedisChannelMessageStore 支持的 QueueChannel。它适用于队列中要处理的消息,但在 kill 时正在处理的消息会丢失。
我想知道在这种情况下是否可以使用任何弹簧集成组件或模式。
我正在考虑手动操作的可能性。当消息进入时,我将其放入 Redis,当它完成处理时我将其删除,并在应用程序启动时将消息从 Redis(如果有)读取到通道。但我对这种方法并不满意。
【问题讨论】:
标签: spring redis spring-integration