我们正在使用Spring Kafka 2.2.2版本从Kafka中检索记录,使用@KafkaListener和Con电流tKafkaListenerContainerFactory。我们已经配置了max-pore-记录为5,但是它总是在列表中只给消费者1条记录,而不是5条记录。
虽然配置相同,但它在Spring Kafka 2.1中也能工作。4.释放。
这是我们的申请表。yml配置:
spring:
kafka:
bootstrap-servers: localhost:9092
consumer:
enable-auto-commit: false
max-poll-records: 5
bootstrap-servers: localhost:9092
group-id: group_id
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: com.gap.cascade.li.data.xx.xx.CustomDeserialiser
以下是我们的ConcurrentKafkaListenerContainerFactory:
@Bean
public ConcurrentKafkaListenerContainerFactory<String, String> kafkaListenerContainerFactory() {
ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
factory.setConsumerFactory(consumerFactory());
factory.setBatchListener(true);
return factory;
}
我们是否错过了任何需要为Spring Kafka 2.2.2版本完成的配置?
假设你有一个听众
@KafkaListener(...)
public void listen(List<...> data) {
...
}
设置工厂。setBatchListener(true)
应该适合您(只要有多条记录准备就绪)。
您还可以使用boot属性
spring:
kafka:
listener:
type: batch
做同样的事情;避免申报自己的工厂。
如果启用调试日志记录,容器将记录轮询返回的记录数。您还可以设置
fetch。最小字节数
和获取。麦克斯,等等。ms
影响在只有一条记录立即就绪时返回的记录数。。。
spring:
kafka:
consumer:
auto-offset-reset: earliest
enable-auto-commit: false
properties:
fetch.min.bytes: 10000
fetch.max.wait.ms: 2000
listener:
type: batch
顺便说一句,当前的2.2. x版本是2.2.7(引导2.1.6)。
我正在尝试使用ReplyingKafkaTemplate,偶尔会看到下面的消息。 没有待处理的回复:消费者记录(主题=请求-回复-主题,分区=8,偏移量=1,创建时间=1544653843269,序列化密钥大小=-1,序列化值大小=1609,标题=记录标题(标题=[记录标题(键=kafka_correlationId,值=[-14,65,21,-118,70,-94,72,87,-113,-91,
这里模型里有3行role_model里有1行所以一定是这样的 这就是界面 这是服务实现: 在控制器Restapi 这只返回了一条记录 1 UserManagement NULL 21 0 1 TEST 1
问题内容: 我有一个具有相似结构和数据的示例表,如下所示: 表在每个学生出现的所有科目中都有每个学生的合并标记。 请帮助我,编写一个查询以提取每个学生( 不分学科/其他学生 )获得的MAXIMUM分数,如下所示: 按S_Name和Max(MARK_Value)分组 问题答案: 使用窗口功能 或者您可以使用相关的子查询
问题内容: 桌子: 查询: 结果: 问题: 如何重写查询,使其返回post_id-> 83而不是post_id-> 81? 他们都有相同的论坛ID和主题ID,但是post_id-> 81的日期早于post_id-> 83。 但是,Group By似乎获得了“第一”记录,而不是“最新”记录。 我尝试将查询更改为 但这同时返回post_id 81和83 问题答案: 如果选择在group子句中未使用且不
我观察到,运动流中存在一些记录,但KCL消费者应用程序尚未收到这些记录。发生这种情况的原因是什么?之前和之后的记录都很好。 所有异常都在我的应用程序中消耗,KCL不会收到。所以http://docs.aws.amazon.com/streams/latest/dev/troubleshooting-consumers.html#w1ab1c11c11c15b9的情况也没有发生。 一些细节:打开分片
问题内容: 我想从MySQL查询返回第二条,第三条或第四条记录(基于ID递增的查询) 问题是,我不知道ID,只是它是查询中的第三行。 问题答案: 它说从记录n开始返回一个记录。