- pom依赖
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
- application.properties
topic=test
spring.kafka.bootstrap-servers=kafka--ip:9092
spring.kafka.consumer.group-id=${spring.application.name}:${spring.cloud.client.ip-address}:${server.port}
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.LongSerializer
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.auto-offset-reset=earliest
3.发消息
@Autowired
private KafkaTemplate<String, String> kafkaTemplate;
@Value("${topic}")
String topic;
@RequestMapping(value = "/custom/bus/refresh", method = RequestMethod.POST)
public String publish(
@RequestParam(value = "destination", required = false) String destination,
@RequestParam(value = "message", required = false) String message) {
kafkaTemplate.send(topic,message);
System.out.println("向主题" + topic + "发送消息" + message + "成功");
return "event published";
}
- 收消息
@KafkaListener(topics = "test")
public void listen(ConsumerRecord<String,String> record){
//todo kafka接收消息
String value = record.value();
logger.info("Kafka ------=>"+value);
}