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
}
});
Вы знаете, как я могу обойтись без свойств жесткого кодирования?
Спасибо