Я надеюсь, что смогу объяснить это!
Я запускаю докернизированное java приложение для весенней загрузки, которое будет подключаться к одному докеризованному экземпляру Kafka.
Для этого я настроил ссылку в docker -компонентном файле это позволит приложению подключаться к kafka docker с именем kafka-cluster
через порт 9092
.
. Когда я запускаю оба контейнера, в приложении java появляется сообщение о том, что оно не может подключиться к KafkaAdmin:
[AdminClient clientId=adminclient-2] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available.
Но он пытается подключиться к localhost / 127.0.0.1.
Далее в журналах я вижу, что он начал подключение к KafkaAdmin дважды: сначала:
2020-03-25 13:53:15.515 INFO 7 --- [ main] o.a.k.clients.admin.AdminClientConfig : AdminClientConfig values:
bootstrap.servers = [kafka-cluster:9092]
client.dns.lookup = default
client.id =
connections.max.idle.ms = 300000
<more properties>
, а затем снова сразу после (но на локальном хосте):
2020-03-25 13:53:15.780 INFO 7 --- [ main] o.a.k.clients.admin.AdminClientConfig : AdminClientConfig values:
bootstrap.servers = [localhost:9092]
client.dns.lookup = default
client.id =
connections.max.idle.ms = 300000
<more properties>
Это конфигурация:
@Bean
public KafkaAdmin kafkaAdmin() {
Map<String, Object> configs = new HashMap<>();
configs.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
return new KafkaAdmin(configs);
}
@Bean
public NewTopic sysCcukCdcAssetsCreate() {
return new NewTopic(newPanelTopic, 1, (short) 1);
}
@Bean
public NewTopic sysCcukCdcAssetsUpdate() {
return new NewTopic(updatedPanelTopic, 1, (short) 1);
}
где bootstrapServers
= kafka-cluster:9092
Я не могу понять, почему кажется, что у KafkaAdmin есть 2 набора конфигов, но кажется, что это вызывает ошибку.
Массовые указания или предложения оценил:)