, если вы хотите сделать это, вы можете вызвать исключение. Если потребитель попытается подключиться к topi c и не был создан, вы можете запустить функцию, которая создает AdminClient
, где вы можете создать topi c.
Но вам все равно нужно заполнить его, чтобы вы могли создать поток с помощью Worker (Источник + Задача для xml) и заполнить им топи c (в той же функции)!
Здесь создание топи c с AdminCLient
:
Properties properties = new Properties();
properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
properties.put(ConsumerConfig.ALLOW_AUTO_CREATE_TOPICS_CONFIG, true);
Admin adminClient = Admin.create(properties);
adminClient.createTopics(Collections.singleton(new NewTopic( {Topic name}, 1, (short) 1)));
Надеюсь, это было полезно