kafka环境搭建
自行百度资源或[个人另一篇文章](https://blog.csdn.net/qq_22903677/article/details/105906632)
配置文件配置kafka服务
spring:
kafka:
listener:
missing-topics-fatal: false
bootstrap-servers:
- 192.168.8.108:9082
server:
port: 7800
用到的依赖
<!-- kafka-->
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
创建消息生产者
这里为了简单测试使用KafkaTemplate 直接注入模版
@RestController
@RequestMapping
public class TestController {
@Resource
private KafkaTemplate kafkaTemplate;
@ApiOperation("数据接入kafka topic")
@PostMapping("/topic/{topicName}")
public void dataAccessTopic(@PathVariable @ApiParam(value = "kafka topic名称,必须已注册", required = true) String topicName,
@RequestBody String payload) {
kafkaTemplate.send(topicName, payload);
}
}
创建消息服务者
服务消费采用注解@EnableKafka与@KafkaListener
/**
* 监听kafka 消息队列
*/
@Slf4j
@Component
@EnableKafka
public class KafkaConsumerListenser {
/**
*
* @param records
*/
@KafkaListener(groupId = "groupA", topics = "topicA")
void listener(String records) {
List<Map<String, String>> dataList = new ArrayList<Map<String, String>>();
String tabliName = null;
log.info(records);
}
}
demo地址