三步走。第一步依赖jar的配置。第二步配置文件的修改。第三步代码实现。
首先springboot构建两个maven项目。
第一、无论是服务端还是客户端依赖的jar是一个。具体版本根据自己项目spring的版本情况定。
<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency>
第二、配置文件,其实就是kafka服务端的IP地址加端口。
都放在了两个yml文件中。
生产者
server: port: 8081 spring: kafka: producer: bootstrap-servers: 77.98.116.132:9092
消费者(其他更多配置根据需要自行百度)
server: port: 8082 spring: kafka: consumer: enable-auto-commit: true group-id: applog auto-offset-reset: latest bootstrap-servers: 77.98.116.132:9092
第三、代码
生产者
@Component @EnableScheduling public class KafkaProducer { @Autowired private KafkaTemplate kafkaTemplate; /** * 定时任务 */ @Scheduled(cron = "00/1 * * * * ?") public void send() { String message = UUID.randomUUID().toString(); ListenableFuture future = kafkaTemplate.send("app_log", message); future.addCallback(o -> System.out.println("send-消息发送成功:" + message), throwable -> System.out.println("消息发送失败:" + message)); } } 消费者
/** * 消费者 * 使用@KafkaListener注解,可以指定:主题,分区,消费组 */ @Component public class KafkaConsumer { @KafkaListener(topics = {"app_log"}) public void receive(String message) { System.out.println("app_log--消费消息:" + message); } } 至此完毕。