Java org.apache.kafka.common.errors.InvalidSessionTimeoutException';s没有可用的记录信息

Java org.apache.kafka.common.errors.InvalidSessionTimeoutException';s没有可用的记录信息,java,spring-boot,apache-kafka,microservices,Java,Spring Boot,Apache Kafka,Microservices,我已经使用Azure Event Hub和Spring Boot创建了一个Kafka消费者,但是当我启动应用程序,然后开始尝试使用我的代理中的消息时,我收到下面的错误消息 java.lang.IllegalStateException: This error handler cannot process 'org.apache.kafka.common.errors.InvalidSessionTimeoutException's; no record information is availa

我已经使用Azure Event Hub和Spring Boot创建了一个Kafka消费者,但是当我启动应用程序,然后开始尝试使用我的代理中的消息时,我收到下面的错误消息

java.lang.IllegalStateException: This error handler cannot process 'org.apache.kafka.common.errors.InvalidSessionTimeoutException's; no record information is available
     at org.springframework.kafka.listener.SeekUtils.seekOrRecover(SeekUtils.java:151) ~[spring-kafka-2.5.2.RELEASE.jar:2.5.2.RELEASE]
     at org.springframework.kafka.listener.SeekToCurrentErrorHandler.handle(SeekToCurrentErrorHandler.java:103) ~[spring-kafka-2.5.2.RELEASE.jar:2.5.2.RELEASE]
     at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.handleConsumerException(KafkaMessageListenerContainer.java:1247) ~[spring-kafka-2.5.2.RELEASE.jar:2.5.2.RELEASE]
     at org.springframework.kafka.listener.KafkaMessageListenerContainer$ListenerConsumer.run(KafkaMessageListenerContainer.java:1004) ~[spring-kafka-2.5.2.RELEASE.jar:2.5.2.RELEASE]
     at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[na:na]
     at java.base/java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:264) ~[na:na]
     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java) ~[na:na]
     at java.base/java.lang.Thread.run(Thread.java:832) ~[na:na]
Caused by: org.apache.kafka.common.errors.InvalidSessionTimeoutException: The session timeout is not within the range allowed by the broker (as configured by group.min.session.timeout.ms and group.max.session.timeout.ms).

2020-07-22 17:09:28.017  INFO 2582630 --- [ntainer#0-0-C-1] o.a.k.c.c.internals.AbstractCoordinator  : [Consumer clientId=ed3c3738-5b4d-4a83-8c19-76f0a11316bb-0, groupId=com.hi.servicemessagestatusprocessor.ServiceMessageStatusProcessorApplication] (Re-)joining group
2020-07-22 17:09:28.035 ERROR 2582630 --- [ntainer#0-0-C-1] o.a.k.c.c.internals.AbstractCoordinator  : [Consumer clientId=ed3c3738-5b4d-4a83-8c19-76f0a11316bb-0, groupId=com.hi.servicemessagestatusprocessor.ServiceMessageStatusProcessorApplication] Attempt to join group failed due to fatal error: The session timeout is not within the range allowed by the broker (as configured by group.min.session.timeout.ms and group.max.session.timeout.ms).
2020-07-22 17:09:28.035  INFO 2582630 --- [ntainer#0-0-C-1] o.a.k.c.c.internals.AbstractCoordinator  : [Consumer clientId=ed3c3738-5b4d-4a83-8c19-76f0a11316bb-0, groupId=com.hi.servicemessagestatusprocessor.ServiceMessageStatusProcessorApplication] Join group failed with org.apache.kafka.common.errors.InvalidSessionTimeoutException: The session timeout is not within the range allowed by the broker (as configured by group.min.session.timeout.ms and group.max.session.timeout.ms).
2020-07-22 17:09:28.036 ERROR 2582630 --- [ntainer#0-0-C-1] essageListenerContainer$ListenerConsumer : Consumer exception
我不知道如何解决这个错误,贝娄有我的配置卡夫卡消费者

@EnableKafka
@Configuration
public class KafkaConsumerConfig {
    public ConsumerFactory<String, HilabMessage> consumerFactory(String groupId) throws IOException {
        InputStream kafkaProperties = getClass().getClassLoader()
            .getResourceAsStream("kafka.properties");

        Properties properties = new Properties();
        properties.load(kafkaProperties);

        Map<String, Object> configs = new HashMap<>();
        for (final String name: properties.stringPropertyNames())
            configs.put(name, properties.getProperty(name));

        configs.put(ConsumerConfig.GROUP_ID_CONFIG, groupId);
        configs.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG, "1");
        configs.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
        configs.put(ConsumerConfig.CLIENT_ID_CONFIG, UUID.randomUUID().toString());
        configs.put(ErrorHandlingDeserializer.VALUE_DESERIALIZER_CLASS, JsonDeserializer.class.getName());

        return new DefaultKafkaConsumerFactory<>(
            configs, new StringDeserializer(), new JsonDeserializer<>(HilabMessage.class));
    }

    @Bean
    public ConcurrentKafkaListenerContainerFactory<String, HilabMessage> kafkaListenerContainerFactory() throws IOException {
        ConcurrentKafkaListenerContainerFactory<String, HilabMessage> factory = new 
            ConcurrentKafkaListenerContainerFactory<>();
    factory.setConsumerFactory(consumerFactory(ServiceMessageStatusProcessorApplication.class.getName()));
        return factory;
    }
}
@EnableKafka
@配置
公共类卡夫卡消费者配置{
公共ConsumerFactory ConsumerFactory(字符串groupId)引发IOException{
InputStream Kafkapproperties=getClass().getClassLoader()
.getResourceAsStream(“kafka.properties”);
属性=新属性();
属性。负载(卡夫卡普顿属性);
Map configs=new HashMap();
for(最终字符串名称:properties.stringPropertyNames())
configs.put(name,properties.getProperty(name));
configs.put(ConsumerConfig.GROUP\u ID\u CONFIG,groupId);
configs.put(ConsumerConfig.MAX_POLL_INTERVAL_MS_CONFIG,“1”);
configs.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,“最早”);
configs.put(ConsumerConfig.CLIENT_ID_CONFIG,UUID.randomuid().toString());
configs.put(ErrorHandlingDeserializer.VALUE_DESERIALIZER_类,JsonDeserializer.CLASS.getName());
返回新的DefaultKafka消费者工厂(
配置,新的StringDeserializer(),新的JsonDeserializer(HilabMessage.class));
}
@豆子
public ConcurrentKafkListenerContainerFactory KafkListenerContainerFactory()引发IOException{
ConcurrentKafkaListenerContainerFactory工厂=新建
ConcurrentKafkaListenerContainerFactory();
setConsumerFactory(consumerFactory(ServiceMessageStatusProcessorApplication.class.getName());
返回工厂;
}
}

请注意,我的producer有一个类似的配置,它将消息发布到代理

我正在运行一个启用Kafka的Azure事件中心,它位于云端,
MAX\u POLL\u INTERVAL\u MS\u CONFIG
不是太低了吗?你能试着放5000(5秒)吗?不,问题还在继续。是的,问题是最大轮询间隔配置,我配置为30000,这是可行的,但我认为最大轮询间隔配置的更高数字很好知道。即使我怀疑它,我也没想到它会那么高。很高兴你解决了。无论如何,现在卡夫卡的心跳和民意测验是分开的,所以也没那么糟糕。