tasklaunchrequest-transform忽略有效负载

时间:2017-10-10 20:25:08

标签: spring-cloud-stream spring-cloud-dataflow spring-cloud-task

我有一个包含

的流
  

来源| ProcessorP1 | ProcessorP2 | ProcessorP3 | ProcessorP4 |宿

我使用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

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

1 个答案:

答案 0 :(得分:0)

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

请参阅此处,了解有关修补开箱即用应用程序的一些指导原则: 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