在我的JBeret java批处理作业中,我需要将参数从一个步骤传递到下一个步骤。到目前为止,我只知道要通过JobContext.setTransientUserData()来实现这一点。
我的问题是: transientUserData方式是最佳实践方式,还是有更好的替代方案?在批处理步骤之间传递参数是常见的吗?在这方面,步骤应该是自给自足的吗?
发布于 2017-01-22 10:54:59
是的,作业上下文临时用户数据是在步骤之间传递应用程序数据的标准机制,如批处理规范(JSR 352)所定义。这种用法是可移植的,并且适用于所有兼容的实现。
步骤在很大程度上是自包含的,但步骤也存在于作业中。因此,一个步骤导出或使用另一个步骤中的应用程序数据以协调作业执行是很常见的。
在JBeret中,您可以将can声明为@JobScoped,并将其注入到访问共享应用程序状态所需的位置。
有关用法示例,请参阅此JBeret test。
https://stackoverflow.com/questions/41786324
复制相似问题