Springboot中集成Kafka

在Springboot项目中集成Kafka,并实现消息的发送和接收

kafka单实例环境搭建(windows)

bin\windows\zookeeper-server-start.bat  config\zookeeper.properties
  • 启动kafka:
bin\windows\kafka-server-start.bat config/server.properties

在项目中集成kafka

pom.xml中引入kafka依赖:

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

在application.properties文件中配置kafka服务器地址、端口等信息:

spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=myGroup #仅消息消费者需要配置此属性

发送mq消息到demo_queue队列:

kafka允许程序运行时动态创建消息队列,因此我们不必提前在kafka中创建需要使用的消息队列.

@Service
public class ClientService {
	
	@Autowired
	KafkaTemplate<String,String> kafkaTemplate;
	
	public String sendAMessage() {
		//kafka
		kafkaTemplate.send("demo_queue", "a message");
		return "success";
	}
	
}

接收mq消息:

@Service
@Slf4j
public class ServiceAService {
	
	@KafkaListener(topics = "demo_queue")
	public void processMessage(String content) {
		log.debug("收到了一个消息:{}",content);
	}
	
}

完。

集成Kafka到Spring Boot项目需要以下步骤: 1. 引入Kafka依赖 在pom.xml文件添加以下依赖: ``` <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>2.7.1</version> </dependency> ``` 2. 配置Kafka 在application.yml文件添加以下配置: ``` spring: kafka: bootstrap-servers: localhost:9092 ``` 其,bootstrap-servers指定了Kafka的服务地址和端口号。 3. 编写Kafka生产者 创建一个Kafka生产者类,用于向Kafka发送消息: ``` @Service public class KafkaProducerService { @Autowired private KafkaTemplate<String, String> kafkaTemplate; public void sendMessage(String message) { kafkaTemplate.send("test-topic", message); } } ``` 在上面的代码KafkaTemplate是Spring提供的用于发送消息的模板类,其"test-topic"是Kafka的主题名。 4. 编写Kafka消费者 创建一个Kafka消费者类,用于从Kafka接收消息: ``` @Service public class KafkaConsumerService { @KafkaListener(topics = "test-topic") public void receiveMessage(String message) { System.out.println("Received message: " + message); } } ``` 在上面的代码,@KafkaListener注解用于指定要监听的Kafka主题,receiveMessage方法用于处理接收到的消息。 5. 测试 在Spring Boot项目调用KafkaProducerService的sendMessage方法发送消息,可以通过KafkaConsumerService的receiveMessage方法接收到消息。 以上就是在Spring Boot项目集成Kafka的步骤,希望能对你有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值