Я создал приложение весенней загрузки для публикации сообщения в очереди 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 -