我正在尝试在最新版本的Spring Cloud流中使用基于内容的路由。根据这份文件->基于内容的路由,它提到了如何在遗留系统/StreamListener中使用它。
这是我的代码与StreamListener
@StreamListener(target = EventChannels.FILE_REQUEST_IN
, condition = "headers['saga_request']=='FILE_SUBMIT'")
public void handleSubmitFile(@Payload FileSubmitRequest request) {
}
@StreamListener(target = EventChannels.FILE_REQUEST_IN
, condition = "headers['saga_request']=='FILE_CANCEL'")
public void handleCancelFile(@Payload FileCancelRequest request) {
}
通过使用条件,可以将消息路由到两个不同的函数。
我正在尝试使用如下的函数接口方法来消费消息。
@Bean
public Consumer<String> consumeMessage(){
return event -> {
try {
LOGGER.info("Consumer is working: {}", event);
} catch (Exception ex) {
LOGGER.error("Exception while processing");
}
};
}
如何在功能中实现类似的基于内容的路由?TIA。
其他细节→
- 春季启动版本- 2.3.12.RELEASE
- 春季云版-霍克斯顿。SR11
你看过这个吗- https://docs.spring.io/spring-cloud-stream/docs/3.1.4/reference/html/spring-cloud-stream.html#_event_routing?我们提供了两种不同的路由模型TO和FROM。所包含的链接包含示例,因此请查看它并随时发布任何后续内容