springboot系列-kafka消息订阅和发送

1.maven依赖

<!--kafka-->
		<dependency>
			<groupId>org.springframework.kafka</groupId>
			<artifactId>spring-kafka</artifactId>
		</dependency>

2.配置文件

spring:
  application:
    name: Spring-boot-Kafka
  kafka:
    bootstrap-servers: localhost:9091,localhost:9092,localhost:9093
    consumer:
      group-id: local-Group
      auto-offset-reset: earliest
      enable-auto-commit: true
      auto-commit-interval: 20000
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer

3.关键类:

# 服务发送
   @Autowired
    private KafkaTemplate kafkaTemplate;
    @RequestMapping("/send")
    public void send(){
        String message = "测试kakfa:"+System.currentTimeMillis();
        ListenableFuture future = kafkaTemplate.send("test",message);
        future.addCallback(o -> log.info("send-消息发送成功:" + message), throwable -> log.error("消息发送失败:" + message));
    }
# 服务接收
@Component
public class TestTopicReceiver{

    @KafkaListener(topics = "test")
    public void testMessage(String content) {
        System.out.println("====KafkaReceiver test=====:"+content);
    }

}

4.参考代码:
https://github.com/472732787/com-spring-multiple-datasource/tree/master/spring-boot-kafka-send
https://github.com/472732787/com-spring-multiple-datasource/tree/master/spring-boot-kafka-receiver

发布了51 篇原创文章 · 获赞 2 · 访问量 6374

猜你喜欢

转载自blog.csdn.net/wenwang3000/article/details/100122316