要在Spring Boot中集成Kafka,可以按照以下步骤进行操作:
-
添加Kafka依赖: 在
pom.xml中添加以下依赖:<dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> </dependency> -
配置Kafka连接信息: 在
application.properties或application.yml中添加Kafka相关的配置信息,包括Kafka服务器地址和端口:spring.kafka.bootstrap-servers=localhost:9092 -
创建Kafka生产者: 创建一个Kafka生产者的Bean,可以使用
KafkaTemplate来封装发送消息的逻辑:@Configuration public class KafkaProducerConfig { @Bean public KafkaTemplate<String, String> kafkaTemplate() { return new KafkaTemplate<>(producerFactory()); } @Bean public ProducerFactory<String, String> producerFactory() { Map<String, Object> configProps = new HashMap<>(); configProps.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092"); configProps.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class); configProps.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class); return new DefaultKafkaProducerFactory<>(configProps); } } -
创建Kafka消费者: 创建一个Kafka消费者的Bean,可以使用
@KafkaListener注解来定义消费者监听的主题和处理逻辑:@Component public class KafkaConsumer { @KafkaListener(topics = "test") public void listen(String message) { System.out.println("Received message: " + message); // 处理收到的消息 } } -
发布消息: 在需要发布消息的地方,通过自动注入
KafkaTemplate来发送消息:@Autowired private KafkaTemplate<String, String> kafkaTemplate; public void sendMessage(String message) { kafkaTemplate.send("test", message); }
这样,你就成功在Spring Boot中集成了Kafka。可以根据需要进行进一步的配置和使用,例如设置消息序列化方式、消费者的分组ID等。