Я бы хотел прочитать в облачном потоке список тем (входящих). Идея состоит в том, чтобы сканировать все темы сообщений, чтобы хранить 1 из 10000 сообщений контента для статистики. После запуска моего приложения можно создавать новые темы. Я могу прочитать список с другого сервера.
Мне удается динамически читать темы с помощью StreamsBuilder и KafkaStreams, но он менее универсален, чем Cloud Stream:
private void doSomething(final String topicName) {
final StreamsBuilder builder;
final KStream<String, String> textLines = builder.stream(topicName);
Есть ли способ кодирования с помощью SpringCloud 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
}
});
Знаете ли вы, как я могу обойтись без свойств жесткого кодирования?
Спасибо