В настоящее время я работаю над небольшим проектом Kafka Streams с целью автоматической настройки кластера Kafka и запуска на нем приложения потоков.Для удобства было бы очень полезно, если бы я мог установить свойство bootstrap.servers вне файла .java приложения, если это возможно даже после компиляции.
Единственный способ задания свойств в документации заключается в следующем:
import java.util.Properties;
import org.apache.kafka.streams.StreamsConfig;
Properties settings = new Properties();
// Set a few key parameters
settings.put(StreamsConfig.APPLICATION_ID_CONFIG, "my-first-streams-application");
settings.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "kafka-broker1:9092");
// Any further settings
settings.put(... , ...);
Но что, если я еще не знаю имя хоста и порт кластера при написании кода?Причина этого заключается в том, что я хочу создать инструмент, который принимает параметры конфигурации кластера Kafka и приложения Kafka Streams, чтобы затем автоматически настроить все необходимые виртуальные машины и службы и запустить приложение.Кто-то другой должен иметь возможность использовать этот инструмент без необходимости изменения кода Java потокового приложения.
Есть идеи?Единственный другой вариант, который я имею в виду, - это разбор кода и изменение свойства.Если возможно, я бы не хотел этого делать с неизвестным кодом ...