Batchlet 与 EJB 定时器
Batchlet vs EJB Timer
我做了一个应用程序来对网络节点进行一些测试,例如 ping 测试、检索磁盘 space ans 等等。
我使用预定的 batchlet 来 运行 这些操作,但我想知道它是否正确使用了 batchlet?
EJB 计时器是否应该更相关?此外,当我 运行 一个 batchlet 时,我的 glassfish 服务器会保留批处理作业的日志,我不需要它(尤其是一天中生成的批处理作业数量)。
如果我需要 运行 在相同的调度时间内完成一些作业,我认为 batchled 可以做到,但 EJB 计时器也可以吗?
您能否就实现此目标的正确方法提供意见?
谢谢,
厄施
当您的任务在眨眼(或大约眨眼)时执行时,使用 EJB 计时器是合适的。
否则使用批处理机制。
从 EJB 计时器执行的长 运行 任务可能会出现问题,因为它们在通常在短时间后超时的事务中执行。增加此事务超时也会增加数据库和可能影响应用程序正常运行的其他资源锁定的机会。
这不是一个有明确答案的问题,但将您的应用程序分解为批处理作业会产生一些成本,我会看看我得到的结果是否值得这样做.
所以您正在考虑由单个 Batchlet 步骤组成的作业。嗯,从 "restart" 函数中没有任何收获,无论是在作业中的失败步骤还是在块步骤中利用检查点。 batchlet 编程模型非常简单......即使您真的喜欢@BatchProperty,您现在也必须处理 XML 才能这样做。
如果您想启动、查看和管理这些执行以及其余的批处理作业,这只会开始变得更有趣。这可能是因为您正在使用提供某种特定于实现的附加功能的实现。这方面的一个例子可能是与外部调度程序软件的集成,允许它安排作业。在另一个极端,如果您发现在一个地方(作业存储库,通常是持久数据库)保存所有批处理作业执行的持久记录的价值,那么这对您来说也是值得的。
但如果您不关心这些,那么 EJB 计时器可能是替代方法。
我做了一个应用程序来对网络节点进行一些测试,例如 ping 测试、检索磁盘 space ans 等等。
我使用预定的 batchlet 来 运行 这些操作,但我想知道它是否正确使用了 batchlet?
EJB 计时器是否应该更相关?此外,当我 运行 一个 batchlet 时,我的 glassfish 服务器会保留批处理作业的日志,我不需要它(尤其是一天中生成的批处理作业数量)。
如果我需要 运行 在相同的调度时间内完成一些作业,我认为 batchled 可以做到,但 EJB 计时器也可以吗?
您能否就实现此目标的正确方法提供意见?
谢谢, 厄施
当您的任务在眨眼(或大约眨眼)时执行时,使用 EJB 计时器是合适的。
否则使用批处理机制。
从 EJB 计时器执行的长 运行 任务可能会出现问题,因为它们在通常在短时间后超时的事务中执行。增加此事务超时也会增加数据库和可能影响应用程序正常运行的其他资源锁定的机会。
这不是一个有明确答案的问题,但将您的应用程序分解为批处理作业会产生一些成本,我会看看我得到的结果是否值得这样做.
所以您正在考虑由单个 Batchlet 步骤组成的作业。嗯,从 "restart" 函数中没有任何收获,无论是在作业中的失败步骤还是在块步骤中利用检查点。 batchlet 编程模型非常简单......即使您真的喜欢@BatchProperty,您现在也必须处理 XML 才能这样做。
如果您想启动、查看和管理这些执行以及其余的批处理作业,这只会开始变得更有趣。这可能是因为您正在使用提供某种特定于实现的附加功能的实现。这方面的一个例子可能是与外部调度程序软件的集成,允许它安排作业。在另一个极端,如果您发现在一个地方(作业存储库,通常是持久数据库)保存所有批处理作业执行的持久记录的价值,那么这对您来说也是值得的。
但如果您不关心这些,那么 EJB 计时器可能是替代方法。