kafka发送消息流程

配置props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, RoundRobinPartitioner.class);

java 复制代码
public Map<String,Object> producerConfigs(){
    Map<String,Object> props = new HashMap<>();
    props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,bootstrapServers);
    props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,valueSerializer);
    props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, RoundRobinPartitioner.class);
    return props;
}

public ProducerFactory producerFactory(){
    return new DefaultKafkaProducerFactory<>(producerConfigs());
}

// 覆盖spring-kafka中的配置
@Bean
public KafkaTemplate<String,Object> kafkaTemplate(){
    return new KafkaTemplate<String,Object>(producerFactory());
}

自定义消息拦截器

java 复制代码
public class CustomerProducerInterceptor implements ProducerInterceptor<String,Object> {

    // 发送消息时,对消息拦截。
    @Override
    public ProducerRecord<String,Object> onSend(ProducerRecord producerRecord) {
        System.out.println("拦截消息" + producerRecord.toString());
        return null;
    }

    // 服务器是否收到了当前这条消息
    @Override
    public void onAcknowledgement(RecordMetadata recordMetadata, Exception e) {
        if(recordMetadata != null){
            System.out.println("服务器收到消息" + recordMetadata.offset());
        }else{
            // 没有收到消息发送失败
            System.out.println("消息发送失败!!!");
        }
    }

    @Override
    public void close() {

    }

    @Override
    public void configure(Map<String, ?> map) {

    }
}
相关推荐
小熊美家熊猫系统6 小时前
电子合同技术实现与合规实践
java·开发语言·分布式
AI 小老六8 小时前
Google AX 控制面拆解:分布式 Agent 如何把断点恢复、审计策略和执行调度收进同一条链路
人工智能·分布式·后端·ai·架构·ai编程
functionflux9 小时前
kafka-python:Python 生态中最成熟的 Kafka 客户端
分布式·python·其他·kafka
kyle~13 小时前
DDS分布式实时系统---自省机制
开发语言·分布式·机器人·c#·接口·ros2
q210306337213 小时前
kafka启动几秒后挂了,重启多次无果
分布式·kafka
凯源智能14 小时前
工商业分布式光伏箱变智能监控落地实战
分布式·箱变测控·光伏箱变测控装置·箱变监控系统·箱式变测控装置
沂水弦音14 小时前
软控 EI 系列模块优势与竞品对比分析:面向 EtherCAT 分布式 I/O 的工程选型视角
分布式·制造·工业自动化·ethercat·io模块
木心术115 小时前
在NVIDIA DGX Spark上部署NemoClaw的实际操作方案以及实际应用便利性。
大数据·分布式·spark
kuokay15 小时前
MLOps 与 AIOps 的核心概
人工智能·分布式·大模型·agent·llama
abcy07121316 小时前
在Python 中使用Celery和Kafka进行消息队列的生产者和消费者实现
python·kafka