Spring 批处理集成 - 传递数据 b/w 集成和批处理

Spring Batch Integration - pass data b/w integration and batch

我正在使用 Spring 批处理集成,因为我必须在调用批处理之前执行某些工作。

我已经使用 Spring 集成完成了这项工作,并使用作业启动网关调用了批处理,它非常有效。 现在的问题是如何将数据从 Spring Integration 传递到 Batch?

请多多指教。

发送到 JobLaunchingGateway 的消息具有 JobLaunchRequest 负载。

当您在 Spring 集成流程中构建请求时,您可以添加 JobParameters,然后在批处理作业中使用。

编辑

对于自定义对象,您必须间接进行。例如通过 Map.

如果你使用的是XML配置,你可以使用:

<util:map id="jobParams"> ... </...>

将您的对象填充到某个键下的地图中,将键作为 JobParameter 传递,@Autowire 将地图传递到您的批处理作业中,并 retrieve/remove 使用键传递对象。