В Spring Cloud Stream такой поддержки нет.
В базовом проекте Spring для Apache Kafka есть поддержка такого сценария ios.
См. @KafkaListener
для класса .
Требуется, чтобы полезная нагрузка была десериализована десериализатором Kafka; тогда вызываемый метод зависит от типа полезной нагрузки.
Он также поддерживает резервный метод по умолчанию.
@KafkaListener(id = "multi", topics = "myTopic")
static class MultiListenerBean {
@KafkaHandler
public void listen(String foo) {
...
}
@KafkaHandler
public void listen(Integer bar) {
...
}
@KafkaHandler(isDefault = true)
public void listenDefault(Object object) {
...
}
}