我有一个包含
的流来源| ProcessorP1 | ProcessorP2 | ProcessorP3 | ProcessorP4 |宿
我使用ProcessorP1
作为我的tasklaunchrequest-transform
处理器。我是通过task-launcher
使用它来启动任务的。现在我需要将我的有效负载从ProcessorP1传递到ProcessorP2并调用该任务; TaskLaunchRequest
无法携带有效载荷,因为它被忽略了。
有没有办法将有效负载传递给我的流中的下一个处理器?
答案 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