基于Spring Integration实现Outbox模式:事务同步后立即处理消息
Spring Integration Outbox模式实现优化
我们希望通过Spring Integration实现Outbox模式,基于相关示例简化得到如下解决方案:
protected IntegrationFlowDefinition<?> buildFlow() { return from("domain.event.sender") .channel(c -> c.queue(this.jdbcMessageStore, "outbox")) .handle( this.messagePublisherHandler, c -> c.poller(poller -> poller.fixedDelay(1000).transactional())); }
该方案的执行逻辑为:
- 从
domain.event.sender获取消息 - 将消息存储到数据库(用于错误恢复)
- 通过固定1秒间隔的轮询机制读取数据库消息,再经
messagePublisherHandler发送至MessageBus
我们需要优化该方案,实现事务同步完成后立即处理消息,无需等待轮询周期结束。
内容的提问来源于stack exchange,提问作者user969039
相关产品推荐
相关产品推荐

