springboot项目连接虚拟机kafka服务器,消息发送、接收问题

错误信息:Group coordinator promote.localdomain:9092 (id: 2147483647 rack: null) is unavailable or invalid, will attempt rediscovery
2018-10-29 14:56:52.496  INFO 33656 --- [ntainer#0-0-C-1] o.a.k.c.c.internals.AbstractCoordinator  : [Consumer clientId=consumer-1, groupId=test] Discovered group coordinator promote.localdomain:9092 (id: 2147483647 rack: null)

本人开发环境是window10+idea+springboot,而kafka服务器是搭建在虚拟机(Ubuntu17)中的,启动服务后,这边启动springboot项目无法连接到服务器,解决的思路主要是分两步。

【tips】:有时候连接有问题,但是不会打印详细错误信息,比较好的做法是在springboot配置错误信息级别为debug

(1)项目访问kafka服务器时会根据hostname,因此在window本地的hosts文件中࿰

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在Spring Boot项目中引入Kafka,需要在pom.xml文件中添加Kafka的依赖。可以在Maven中央仓库中找到Kafka的依赖,也可以在Spring官网中找到Kafka的依赖。在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>org.springframework.kafka</groupId> <artifactId>spring-kafka</artifactId> <version>2.7.2</version> </dependency> ``` 在application.yml文件中配置Kafka的相关信息,例如: ```yaml spring: kafka: bootstrap-servers: 192.168.1.113:9048 producer: key-serializer: org.apache.kafka.common.serialization.StringSerializer value-serializer: org.apache.kafka.common.serialization.StringSerializer consumer: key-deserializer: org.apache.kafka.common.serialization.StringDeserializer value-deserializer: org.apache.kafka.common.serialization.StringDeserializer group-id: MyGroup1 ``` 在代码中使用KafkaTemplate发送消息,例如: ```java @Autowired private KafkaTemplate<String, String> kafkaTemplate; @PostMapping("test") public RestResult test() { kafkaTemplate.send("TOPIC_NAME", 0, "key", "this is a message"); return RestResult.wrapSuccessResponse(); } ``` 同时,可以使用@KafkaListener注解监听Kafka消息,例如: ```java @KafkaListener(topics = "TOPIC_NAME", groupId = "MyGroup1", containerFactory = "kafkaListenerContainerFactory") public void kafkaListener(List<ConsumerRecord<?, ?>> records, Acknowledgment ack) { for (ConsumerRecord item : records) { System.out.printf("topic is %s, offset is %d,partition is %s, value is %s \n", item.topic(), item.offset(), item.partition(), item.value()); log.info("topic is : {}, offset is : {},partition is : {}, value is : {}",item.topic(), item.offset(), item.partition(), item.value()); } ack.acknowledge(); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值