Cloud Stream - слушайте список тем без жесткого кодирования или настройки

Я хочу прочитать в облачном потоке список тем (входящие). Идея состоит в том, чтобы сканировать сообщения всех тем, чтобы сохранить 1 из 10000 сообщений для статистики. После запуска моего приложения можно создавать новые темы. Я могу прочитать список с другого сервера.

Мне удается динамически читать темы с помощью StreamsBuilder и KafkaStreams, но он менее общий, чем Cloud Stream:

private void doSomething(final String topicName) {
final StreamsBuilder builder;
final KStream<String, String> textLines = builder.stream(topicName);

Есть ли способ кодировать с помощью Spring Cloud Stream без жесткого кодирования - канал / темы в свойствах /yml - все интерфейсы @Input с именем канала - обработчик @StreamListener со списком тем?

Мне удалось избежать только интерфейса и обработчика, но не конфигурации жесткого кодирования yml:

SubscribableChannel s = (SubscribableChannel) resolver.resolveDestination(channel);
            s.subscribe(new MessageHandler() {
                @Override
                public void handleMessage(Message<?> message) throws MessagingException {
                    // read message here
                }
            });

Вы знаете, как я могу обойтись без свойств жесткого кодирования?

Спасибо

0 ответов