Spring Clould流基于消息动态解析输入通道



我需要一种根据传入消息的类型动态解析入站通道的方法。我不想寻找任何已经在这个链接中提到的基于标头的解决方案https://cloud.spring.io/spring-cloud-static/spring-cloud-stream/3.0.0.M1/spring-cloud-stream.html#_using_streamlistener_for_content_based_routing

必须根据消息的类型进行解决。如果有一个自定义绑定可以在应用程序启动时完成,那么应该可以;请给我一些如何实现这一目标的例子。

Spring Cloud Stream中没有这样的支持。

底层的Spring for Apache Kafka项目确实支持这样的场景。

请参见类上的@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) {
...
}
}

最新更新