首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka事务在超时中断当前线程后未回滚

Kafka事务在超时中断当前线程后未回滚
EN

Stack Overflow用户
提问于 2021-09-05 12:52:48
回答 1查看 22关注 0票数 0

如果http请求超时,我正在尝试中断当前线程。我已经将PlatformTransactionManager设置为Kafka事务作为一个bean。我在方法级别使用了@Transactional注解。我们将在3个主题中发布消息。在第一个主题中发布消息后,我放入Thread.sleep(5000),如果执行时间超过6秒,当前线程将从过滤器中断。因此,这里的通话被打断了,但消息正在发布到Kafka。我们只是在产生信息。我们没有消费任何消息,但能够在我们内部的Kafka检查工具中看到消息。我们使用KafkaTemplate.send()来发送消息。

EN

回答 1

Stack Overflow用户

发布于 2021-09-07 15:44:24

生产者记录始终写入日志,即使回滚也是如此。在发布的记录后面的槽中有一个特殊的记录,用于指示事务是提交还是回滚。

消费者的isolation.level默认为read_uncommitted,您需要将其设置为read_committed以避免看到回档记录。

https://kafka.apache.org/documentation/#consumerconfigs_isolation.level

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69063562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档