SpringBoot 中使用 kafka

  • 依赖

    <dependency>
    	<groupId>org.springframework.kafka</groupId>
    	<artifactId>spring-kafka</artifactId>
    </dependency>
    
  1. 配置类

    @Configuration
    @EnableKafka
    public class KafkaConfig {
    
    }
    
  2. 配置监听器

    @Component
    public class ProducerListenerImpl implements ProducerListener {
    
        @Override
        public void onSuccess(ProducerRecord producerRecord, RecordMetadata recordMetadata) {
            System.out.println("发送成功 : " + producerRecord.toString());
        }
    
        @Override
        public void onError(ProducerRecord producerRecord, RecordMetadata recordMetadata, Exception exception) {
            System.out.println("发送失败 : " + producerRecord.toString());    
    }
    
    }
    
  3. 数据提供者

    @Autowired
    private KafkaTemplate<String,String> kafkaTemplate;
    
    @Autowired
    private ProducerListenerImpl producerListener;
    
    public void sendMessage(){
        try {
            kafkaTemplate.setProducerListener(producerListener);
            kafkaTemplate.send("mytopic","Hello!!!").get();
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
  4. 数据消费者

    @KafkaListeners({
    	@KafkaListener(id = "mytopic", topics = "mytopic")
    })
    public void mytopicListen(ConsumerRecord<?, ?> record) {
    	String s = record.toString();
    	System.out.println("mytopicListen to : " + s);
    }
    
    
posted @ 2022-03-07 18:04  叕叕666  阅读(45)  评论(0)    收藏  举报