碰到了有人问起这个问题,目前java consumer没有利用OffsetAndMetadata中的metadata字段记录提交的时间,故直接通过java consumer来查询是不行,我们需要直接读取__consumer_offsets,代码如下:

public static long lastCommitTimestamp(String groupName, String bootstrapServers) {
int partition = Math.abs(groupName.hashCode() % 50); // Assume offset topic partition number is 50
TopicPartition tp = new TopicPartition("__consumer_offsets", partition); Properties props = new Properties();
props.put("bootstrap.servers", bootstrapServers);
props.put("group.id", "test");
props.put("enable.auto.commit", "false");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
try (KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props)) {
consumer.assign(Arrays.asList(tp));
consumer.poll(Duration.ZERO); // take effect Map<TopicPartition, Long> endOffset = consumer.endOffsets(Collections.singletonList(tp));
consumer.seek(tp, endOffset.get(tp) - 1); ConsumerRecords<String, String> records = consumer.poll(Duration.ofSeconds(30));
if (records.count() == 0) {
throw new IllegalStateException("Consumer group does not commit offsets.");
}
return records.iterator().next().timestamp();
}
}

  

最新文章

  1. 推荐15款制作 SVG 动画的 JavaScript 库
  2. PHP开发程序应该注意的42个优化准则
  3. POST和GET区别
  4. Runtime.getRuntime().exec()
  5. UIScrollView的相关属性说明
  6. 在ubuntu16.04 下安装haproxy 1.5.11 做tcp负载均衡
  7. javaScript获取指定的cookie值
  8. 转:PHP - .htaccess设置显示PHP错误
  9. Java--Eclipse关联Java源码
  10. python小白——进阶之路——day4天-———流程控制while if循环
  11. centos7.6 ssh远程链接配置
  12. eclipse创建Maven web项目的步骤
  13. C#使用ES
  14. 来一个使用sysbench测试cpu性能的简单脚本
  15. java③
  16. 区别@ControllerAdvice 和@RestControllerAdvice
  17. 实现Ecshop注册页面手机号唯一的验证
  18. sql日期查询
  19. BZOJ4598: [Sdoi2016]模式字符串(点分治 hash)
  20. 分析nginx日志脚本之python

热门文章

  1. Mybatis JDBC-&gt;Mybatis
  2. redis 连接池 hiredis
  3. ionic2引入cordova插件时提示 no provider for * 错误
  4. python之编程风格
  5. 两个UITableView的级联菜单
  6. Metadata获取的三种方式
  7. Scala编程基础
  8. Spark2.2出现异常:ERROR SparkUI: Failed to bind SparkUI
  9. [Linux] - 利用ping给端口加密,限制访问
  10. markdownpad目录格式配置