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

凝视spring boot Kafka项目时出错

茅秦斩
2023-03-14

消费者配置

@Bean
public Map<String, Object> consumerConfigs() {
    Map<String, Object> props = new HashMap<String, Object>();
    props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServer);
    props.put(ConsumerConfig.GROUP_ID_CONFIG, consumerGroup);
    props.put(ConsumerConfig.SESSION_TIMEOUT_MS_CONFIG, 30000);
    props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
    props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
    return props;
}

Kafka监听器容器厂

@Bean("kafkaListenerContainerFactory")
public ConcurrentKafkaListenerContainerFactory<String, String> kafkaListenerContainerFactory(RetryTemplate retryTemplate) {
    ConcurrentKafkaListenerContainerFactory<String, String> factory = new ConcurrentKafkaListenerContainerFactory<>();
    factory.setConsumerFactory(consumerFactory());
    factory.getContainerProperties().setAckMode(ContainerProperties.AckMode.MANUAL_IMMEDIATE);
    factory.setRetryTemplate(retryTemplate);
    factory.setRecoveryCallback(context -> {
        log.error("Maximum retry policy has been reached {}", context.getAttribute("record"));
        Acknowledgment ack = (Acknowledgment) context.getAttribute(RetryingMessageListenerAdapter.CONTEXT_ACKNOWLEDGMENT);
        ack.acknowledge();
        return null;
    });
    factory.setConcurrency(Integer.parseInt(kafkaConcurrency));
    return factory;
}

共有1个答案

公孙嘉禧
2023-03-14

对于manual_immediateack模式(对于任何手动模式,基本上都是),必须关闭consumerconfig.enable_auto_commit_configconsumer属性。

这就是那个例外的原因。

我想您可以在应用程序.properties中不使用spring.kafka.consumer.enableAutoCommit

 类似资料:
  • 我在Eclipse中创建maven项目时遇到了一个问题。发生以下错误: 无法计算生成计划:Plugin org.apache.maven。plugins:maven-resources-plugin:2.6或其一个依赖项无法解析:读取org.apache.maven的工件描述符失败。plugins:maven-resources-plugin:jar:2.6 pluginorg.apache.ma

  • grailsVersion=3.3.0有一个问题。M1和gradlewrappersion=3.0。每当我运行该项目时,我都会遇到以下错误。 |解析依赖项。请稍候。。。 配置成功 总时间: 13.543秒|运行应用程序...2017-05-29 22:08:46.634错误 --- [ 主]o.s.boot.SpringApplication :应用程序启动失败 java.lang.NoClass

  • 无法将org.apache.maven:maven-archiver:pom:2.6从https://repo.maven.apache.org/maven2中缓存到本地存储库中,在central的更新间隔已过或强制更新之前,将不会重新尝试解决问题。原始错误:无法将工件org.apache.maven:maven-archiver:pom:2.6从/传送到central(https://repo.

  • 下面是我在构建SBT项目时看到的日志。下面想说的是什么! 我正在使用IntelliJ IDE和Scala2.12以及SBT1.0.3来构建这个项目。我已经验证了IDE代理设置,它的设置和工作良好的其他构建工具。是否有什么东西错过了我的SBT安装??我尝试访问日志中的失败链接,它们也出现了错误。 更新:以下是文件内容 build.sbt 名称:=“unttled3” 版本:=“0.1” scalaV

  • 下面是我的Gridle文件,我尝试了stackoverflow other的问题answare中所有可能的解决方案,但仍然显示相同的结果。 错误: 错误:(3)错误检索项目的父:没有找到与给定名称'android: Text外观匹配的资源。材料。小部件。按钮。无国界。有色'。 网格: 这里是使用XML的地方: 将minsdkversion更改为11时出现其他一些错误 错误:任务“:app:proc

  • 这些是错误。 而且 处理XML“无法从位置[meta-inf/spring.schemas]加载架构映射”时发生说明资源路径位置类型错误。有关更多详细信息,请参阅错误日志servlet-context.xml/masterdataqa/src/main/webapp/web-inf/Spring/appservlet未知Spring bean问题