我使用的是Spring Batch Integration,因为在调用批处理之前,我必须执行某些工作。
我已经使用Spring Integration完成了这项工作,并使用作业启动网关调用了批处理,它的工作方式很有魅力。现在的问题是如何将数据从Spring Integration传递到Batch?
请提出建议。
发送到JobLaunchingGateway
的消息具有JobLaunchRequest
有效负载。
在Spring Integration流中构建请求时,可以添加JobParameters
,然后在批处理作业中使用。
编辑
对于自定义对象,您必须间接执行此操作。例如通过Map
。
如果您使用的是XML配置,您可以使用:
<util:map id="jobParams"> ... </...>
将对象填充到某个键下的映射中,将该键作为JobParameter
、@Autowire
将映射传递到批处理作业中,然后使用该键检索/删除对象。