如何从 java ee 7 批处理中获取进度信息

How can I get progress info from a java ee 7 batch

我正在使用 java ee 7 批处理,并且 - 从不同的执行线程 - 想检索有关作业进度的信息。我知道我总是可以检索作业执行,但我想要更详细的信息,例如已处理的记录数。

有没有办法在处理期间将此信息反馈回批处理框架,以便我可以在另一个线程中检索它?据我所知,我无法在处理过程中更新作业属性。

谢谢,问候, gufi.

批处理 API 不强制执行任何进度监控,但它真的很容易自己动手 - 看看 batch listeners - 这样你就可以访问批处理执行的所有阶段(阅读, process, write) 然后你可以插入一些自定义报告 - 例如更新数据库中的作业值,或通过 JMS 将它们发送给某些侦听器或 websocket 或任何您喜欢的东西。