如何解决Spring Batch中的kafka生产者,多线程编写者将重复消息发送到主题
我正在使用Writer的Spring Batch(如果条件失败,也有重试逻辑,如果再次失败,请尝试再次执行),并且如果条件在Writer中得到满足,我正在尝试向主题发送Kafka消息。我正在使用在配置中实例化了Bean的Kafka模板。
@Bean
public Producer<Long,String> producerConfigs() {
Properties props = new Properties();
//bootstrap servers and protocol configs here
props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,LongSerializer.class);
props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.class);
return new KafkaProducer<>(props);
}
在编写器部分,我在executorService.submit(...)中使用了线程计数为50,我正在使用以下代码将消息发送到主题
public void send(String message){
LOG.info("sending message='{}' to topic='{}'",message,topic);
kafkaTemplate.send(topic,message).get();
}
我的问题是我正在获取有关该主题的重复日志和重复的Kafka消息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。