gpt4 book ai didi

spring-boot - KafkaTemplate 线程安全吗

转载 作者:行者123 更新时间:2023-12-04 11:21:40 24 4
gpt4 key购买 nike

Spring Boot 线程中的 KafkaTemplate 是否安全。我可以创建一个 KafkaTemplate 并使用它来将信息发送到同一 kafka 主题,以便在我的 Web 服务中进行多个请求。

最佳答案

是的,KafkaTemplate被设计为线程安全的。如果你看看它的 source code ,您会看到以下成员变量声明:

protected final Log logger = LogFactory.getLog(this.getClass()); //NOSONAR

private final ProducerFactory<K, V> producerFactory;

private final boolean autoFlush;

private final boolean transactional;

private final ThreadLocal<Producer<K, V>> producers = new ThreadLocal<>();

private RecordMessageConverter messageConverter = new MessagingMessageConverter();

private volatile String defaultTopic;

ThreadLocal 来看和 volatile变量定义,你可以推断它被设计为从多个线程使用,因此它必须是线程安全的(如果不是,那么你应该提交错误报告)。

如果设计师用信息性的 @ThreadSafe 对其进行注释会更好尽管或至少在类的 JavaDoc 注释中指出了这一点。

关于spring-boot - KafkaTemplate 线程安全吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42105672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com