当前位置: 首页 > 知识库问答 >
问题:

Spring kafka不支持大型消息使用者

纪正德
2023-03-14

我正在使用spring Kafka来使用LinkedIn支持大型消息的Kafka客户端生成的消息

假设此Kafka客户端总是将auto_offset_reset_config重写为none(如其构造函数所示)。

private LiKafkaConsumerImpl(LiKafkaConsumerConfig configs,
    Deserializer<K> keyDeserializer,
    Deserializer<V> valueDeserializer,
    Deserializer<LargeMessageSegment> largeMessageSegmentDeserializer,
    Auditor<K, V> consumerAuditor) {
        _kafkaConsumer = new KafkaConsumer<>(configs.configForVanillaConsumer(),
        byteArrayDeserializer,
        byteArrayDeserializer);
    }
Map<String, Object> configForVanillaConsumer() {
    Map<String, Object> newConfigs = new HashMap<>();
    newConfigs.putAll(this.originals());
    newConfigs.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false);
    newConfigs.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "none");
    return newConfigs;
}

因此,一旦我开始使用批处理提交并将enable_auto_commit_config设置为false,它将抛出以下错误:

发生此问题是因为这是此使用者组第一次使用来自此主题的消息,因此它尝试使用偏移量重置策略。

虽然我将其设置为“最早”,但LinkedIn kafka客户端将其覆盖为“无

在本例中,我还尝试重写ConsumerRebalanceListener,以手动搜索到开头,但实际上并没有到这一步。

共有1个答案

丌官子安
2023-03-14

有趣的;请在GitHub中打开一个问题。

如果策略是none,我们应该捕获该异常。

同时,您可能只需要使用一次常规客户端就可以解决这一问题,为组设置初始偏移量(您不必实际接收任何消息,只需分配分区并设置组的初始位置)。

 类似资料:
  • 在hotmail中,我发现hotmail不接受以下icalendar,原因是什么?错误:不支持日历消息: 开始: VCALENDAR EcosAgile/V1/ZH 版本: 2.0 方法:请求 开始:VTIMEZONE TZID:W.欧洲标准时间 开始:标准 DTSTART:16010101T030000 TZOFFSETfrom: 0200 TZOFFSETTO: 0100 规则:FREQ=一年

  • 我使用的是spring boot 2.2.4版本,spring-kafka 2.4.2版本 我的场景是以下一个: 所以我写了folloqing代码 生产者微服务 spring kafka配置: 在制作人方面所有的工作都很好。我能创造话题和发送信息。 消费者微服务 动态侦听器类 当我在生产者端发送消息时,我可以看到以下日志: 在消费者方面,我没有看到任何信息。我只看到下面的指纹: 谁能告诉我我错在哪

  • 26.5 支持 JCA 消息端点 从 Spring2.5 版本开始,Spring 也提供了基于 JCA MessageListener容器的支持。JmsMessageEndpointManager将根据提供者ResourceAdapter的类名自动地决定ActivationSpec类名。因此,通常它只提供如下例所示的 Spring 的通用JmsActivationSpecConfig。 <bean

  • 我正在尝试使用RESTTemplate使用GET请求命中URL。它给出了一个异常,说明http协议不受支持。 我可以使用简单的旧HttpURLConnection方法访问endpoint来获得预期的响应。但是我无法使用rest模板这样做。我没有使用任何类型的VPN或代理,而尝试这一点。 下面是我正在使用的代码。我将用ip:port替换实际使用的ip和端口。 谢谢你。 编辑:使用HttpUrlCon

  • 使用StreamBridge,我将包含两种不同类型的对象的消息发送到单个Kafka主题。有没有办法定义一个能够使用两种类型消息的Spring Cloud Stream的功能消费者?

  • 问题内容: 我有通过执行PreparedStatement插入数据库表的JDBC代码。当我在内存中的HSQLDB数据库上运行代码时(作为JUnit测试的一部分),我得到一个SQLFeatureNotSupportedException信息,唯一的信息是消息“功能不受支持”和供应商代码-1500。我正在做的是基本插入到表中- 我无法想象最新的HSQLDB不支持此功能。 我的代码: 谁能说出问题所在或