Приложение Spring не завершает работу из-за исключения тайм-аута - PullRequest
1 голос
/ 22 мая 2019

Я создал приложение весенней загрузки для публикации сообщения в очереди Kafka.Для этого я использую Spring Cloud Stream и Kafka Binder в качестве зависимостей.Проблема в том, что мое приложение постоянно пытается подключиться к брокеру Kafka, если оно не работает в течение 2 минут из-за конфигурации по умолчанию.Я сократил это время, используя свойство ниже, и установил его на 1000 мс и получил исключение тайм-аута spring.kafka.properties.request.timeout.ms:1000.Но все же мое весеннее приложение работает после исключения.Я хочу, чтобы он потерпел неудачу, если брокер Kafka недоступен для подключения.Я пробовал еще одно свойство для этого spring.kafka.admin.fail-fast=true, но приложение все еще работает.Я также пытался найти некоторые свойства весеннего облачного потока и механизма связывания Kafka, которые я могу настроить для сбоя приложения, если брокер Kafka недоступен, но не смог найти ничего, связанного с этим.Пожалуйста, помогите мне с этим.

Пожалуйста, смотрите журнал исключений ниже.

Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
        at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
        at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
        at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:104)
        at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:274)
        at org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner.createTopicAndPartitions(KafkaTopicProvisioner.java:351)
        at org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner.createTopicIfNecessary(KafkaTopicProvisioner.java:325)
        at org.springframework.cloud.stream.binder.kafka.provisioning.KafkaTopicProvisioner.createTopic(KafkaTopicProvisioner.java:302)
        ... 33 common frames omitted
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
2019-05-22 06:06:25 [main] DEBUG o.s.c.s.DefaultLifecycleProcessor - Successfully started bean 'outputBindingLifecycle'
2019-05-22 06:06:25 [main] DEBUG o.s.c.s.DefaultLifecycleProcessor - Starting beans in phase 2147482647
2019-05-22 06:06:25 [main] DEBUG o.s.c.s.binding.BindableProxyFactory - Binding inputs for :interface kafka.stream.RXXXStreams
2019-05-22 06:06:25 [main] DEBUG o.s.c.s.DefaultLifecycleProcessor - Successfully started bean 'inputBindingLifecycle'
2019-05-22 06:06:25 [main] DEBUG o.s.c.s.DefaultLifecycleProcessor - Starting beans in phase 2147483547
2019-05-22 06:06:25 [main] DEBUG o.s.c.s.DefaultLifecycleProcessor - Successfully started bean 'org.springframework.kafka.config.internalKafkaListenerEndpointRegistry'
2019-05-22 06:06:25 [main] DEBUG o.s.b.a.l.ConditionEvaluationReportLoggingListener -

1 Ответ

0 голосов
/ 22 мая 2019

Есть ли у вас библиотеки spring-boot-web в качестве зависимости?Если это так, ваше приложение не будет закрыто.Полный журнал также будет очень полезен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...