下面我来详细讲解 SpringBoot 1.5.7 整合 Kafka-Client 的完整攻略,包括以下两条代码示例:
第一步:构建SpringBoot项目
首先,我们需要在本地构建一个 SpringBoot 项目。下面是示例代码:
$ mkdir springboot-kafka-demo
$ cd springboot-kafka-demo
$ mvn archetype:generate \
-DgroupId=com.example.kafka \
-DartifactId=kafka-demo \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
执行完以上命令后,项目结构应该是这样的:
kafka-demo
├── pom.xml
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── kafka
│ │ └── App.java
│ └── resources
│ └── application.properties
└── test
├── java
│ └── com
│ └── example
│ └── kafka
│ └── AppTest.java
└── resources
第二步:添加依赖
接下来,在 pom.xml
文件中添加 Kafka-Client 的依赖,示例代码如下:
<dependencies>
<!-- 添加Kafka-Client依赖 -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.3.2.RELEASE</version>
</dependency>
</dependencies>
第三步:配置Kafka-Client
在 application.properties
中添加 Kafka-Client 的配置,示例代码如下:
# Kafka-Client配置
spring.kafka.bootstrap-servers=localhost:9092
spring.kafka.consumer.group-id=kafka-demo-group
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
示例一:生产者示例代码
我们现在来实现一个简单的生产者,向 Kafka 集群发送消息。代码示例如下:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Component;
@Component
public class Producer {
private static final String TOPIC = "test_topic";
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
public void sendMessage(String message) {
this.kafkaTemplate.send(TOPIC, message);
}
}
上述代码中,我们通过 @Autowired
注解注入了一个 KafkaTemplate
对象,这个对象封装了 Kafka-Client 的核心 API。
示例二:消费者示例代码
接下来我们来实现一个消费者,从 Kafka 集群中读取消息。代码示例如下:
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;
@Component
public class Consumer {
@KafkaListener(topics = "test_topic", groupId = "kafka-demo-group")
public void consume(ConsumerRecord<String, String> record) {
System.out.println("消费到消息:" + record.value());
}
}
上述代码中,我们使用 @KafkaListener
注解配置了消费者,接收 Kafka 集群中指定 topic 的消息,并将消息内容打印到控制台。
至此,我们已经完成了 SpringBoot 1.5.7 整合 Kafka-Client 的完整攻略,并提供了两条代码示例。希望对您有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot 1.5.7整合Kafka-client代码示例 - Python技术站