springboot整合kafka

1、pom依賴

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

2、application.yml

spring:
  kafka:
    #指定kafka代理地址
    bootstrap-servers: 192.168.0.108:9092
    #producer
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
    #consumer
    consumer:
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      enable-auto-commit: true
      group-id: groupBySpringBoot1
        
        
        

3、生產者

package com.asiainfo.group.producer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/kafka/producer")
public class KafkaProducerController {

	@Autowired
	private KafkaTemplate<String, String> kafkaTemplate;
	
	@RequestMapping("/sendOne")
	public void sendOne(String topic,String key,String value){
		
		kafkaTemplate.send(topic, key, value);
		
	}
	
}

4、消費者

package com.asiainfo.group.consumer;

import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Service;

@Service
public class KafkaConsumerListener {

	@KafkaListener(topics = {"hello"})
    public void listen(ConsumerRecord<?, ?> record) {
		System.err.println("收到一條消息");
		System.err.println(record.topic());
		System.err.println(record.key());
		System.err.println(record.value());
		
    }

}

 

發佈了98 篇原創文章 · 獲贊 68 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章