1

我有一个流包括

来源 | 处理器P1 | 处理器P2 | 处理器P3 | 处理器P4 | 下沉

我正在ProcessorP1用作我的tasklaunchrequest-transform处理器。我正在使用它通过task-launcher. 现在我需要将我的有效负载从 ProcessorP1 传递到 ProcessorP2 并调用任务;TaskLaunchRequest无法携带有效载荷,因为它被忽略了。

https://github.com/spring-cloud-stream-app-starters/tasklaunchrequest-transform/blob/master/spring-cloud-starter-stream-processor-tasklaunchrequest-transform/README.adoc

有没有办法将有效负载传递给我的流中的下一个处理器?

4

1 回答 1

0

由于tasklaunchrequest-transform-processor忽略传入的有效负载,为了完成您正在寻找的内容,您需要自定义处理器,即您必须更改处理器中的逻辑,以便它接收传入的有效负载并以TaskLaunchRequest某种方式附加到。如果传入的有效负载是一种String类型,那么您可以将其作为环境属性或命令行参数添加到TaskLaunchRequest- 然后实质上将这个修改后的请求向下传递到流中。基本上,您需要用执行此操作的自定义替换您的 ProcessorP1 takslaunchrequest-transform-processor

有关修补开箱即用应用程序的一些指南,请参见此处 : https ://docs.spring.io/spring-cloud-stream-app-starters/docs/current/reference/htmlsingle/#_patching_pre_built_applications 或创建新应用程序:https ://docs.spring.io/spring-cloud-stream-app-starters/docs/current/reference/htmlsingle/#_creating_new_stream_application_starters_and_generating_artifacts

于 2017-10-12T14:37:23.633 回答