我做了一个应用程序,以对网络节点进行一些测试,例如ping test,检索磁盘空间和。
。我使用计划的batchlet来运行操作,但我想知道这是否是batchlet的索引?
EJB计时器应该更相关吗?另外,当我运行批处理时,我的Glassfish服务器保留了批处理作业的日志,我不需要它(尤其是一天中批量工作的数量(。
如果我需要在同一时间表时间内运行一些工作,我认为批处理可以做到,但是EJB计时器也可以吗?
您能给我您在实现这一目标的方法上的意见吗?
谢谢ersch
这不是一个明确答案的问题,但是将您的应用程序作为批处理工作有一些成本,我会看我要去的东西看看是否值得这样做。
因此,您正在考虑由单个批次步骤组成的工作。好吧,从"重新启动"功能中没有任何收益,在作业的失败步骤中,也不会在块步骤中利用检查点。Batchlet编程模型非常简单...即使您真的很喜欢@BatchProperty,您也必须处理XML。
如果您想开始,查看和管理这些执行以及其余的批处理作业,这才会变得更加有趣。这可能是因为您正在使用提供某种特定实现的附加功能的实现。一个例子可能是与外部调度程序软件的集成,允许其计划。在另一个极端情况下,如果您发现在一个地方拥有所有批处理作业执行的持续记录(工作存储库,通常是持续的DB(,那么这也可能对您来说是值得的。
但是,如果您不在乎任何一个,那么EJB计时器可能是要走的路。
使用EJB计时器是合适的
否则使用批处理机构。
从EJB计时器执行的长期运行任务可能是有问题的,因为它们在短时间后通常会超时执行。增加此交易的时间也增加了数据库的机会以及可能影响应用程序正常操作的其他资源锁。