简介
记录一下springboot连接kafka的示例,示例代码很简单,只是做一个记录
配置文件
server:
port: 8030
spring:
application:
name: kafka-example
profiles:
active: dev
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
kafka:
bootstrap-servers: 192.168.1.100:8081,192.168.1.100:8082,192.168.1.100.31:8083
#kafka集群的ip和端口
依赖jar包
plugins {
id 'org.springframework.boot' version '2.2.6.RELEASE'
id 'io.spring.dependency-management' version '1.0.9.RELEASE'
id 'java'
}
group = 'systematic.learning'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.kafka:spring-kafka'
compileOnly 'org.projectlombok:lombok'
}
代码
发送消息
@RestController
@Slf4j
public class KafkaController {
@Autowired
private KafkaTemplate<String, String> template;
@GetMapping("send")
public void send() throws Exception {
this.template.send("my-replicated-topic", "采采芣苢,薄言采之。采采芣苢,薄言有之。");
this.template.send("my-replicated-topic", "采采芣苢,薄言掇之。采采芣苢,薄言捋之。");
this.template.send("my-replicated-topic", "采采芣苢,薄言袺之。采采芣苢,薄言襭之。");
}
}
接收消息
@Component
@Slf4j
public class KafkaListenerService {
@KafkaListener(topics = "my-replicated-topic",groupId = "ss")
public void listen(ConsumerRecord<?, ?> cr) throws Exception {
log.info(cr.toString());
}
}