计划Java EE 7批处理作业
Java EE 7添加了使用JSR 352以標(biāo)準(zhǔn)方式執(zhí)行批處理作業(yè)的功能。
此代碼片段是定義為XML(也稱(chēng)為Job XML)的Job Specification Language。 它使用面向項(xiàng)目或面向塊的處理,一步一步定義了規(guī)范的工作。 塊可以具有讀取器,可選處理器和寫(xiě)入器。 這些元素中的每一個(gè)都使用Job XML中的相應(yīng)元素進(jìn)行標(biāo)識(shí),并且是打包在歸檔文件中的CDI bean。
可以使用以下命令輕松開(kāi)始此工作:
BatchRuntime.getJobOperator().start("myJob", new Properties());在不同的論壇和會(huì)議上提出的一個(gè)典型問(wèn)題是如何在Java EE運(yùn)行時(shí)中安排這些作業(yè)。 Batch 1.0 API本身不提供任何可安排這些作業(yè)的內(nèi)容。 但是,Java EE平臺(tái)提供了三種不同的方式來(lái)調(diào)度這些作業(yè):
當(dāng)然,您可以更改@Schedule的參數(shù)以在所需的時(shí)間啟動(dòng)批處理作業(yè)。
呼叫runJob啟動(dòng)執(zhí)行作業(yè)程序和cancelJob終止作業(yè)執(zhí)行。 在這種情況下,比之前的任務(wù)晚一天開(kāi)始新工作。 并且直到上一個(gè)被終止,它才開(kāi)始。 您將需要更多錯(cuò)誤檢查才能正確執(zhí)行。
MyJob非常瑣碎:
public class MyJob implements Runnable {public void run() {BatchRuntime.getJobOperator().start("myJob", new Properties());}}當(dāng)然,您可以通過(guò)在@PostConstruct調(diào)用此代碼來(lái)自動(dòng)調(diào)度它。
在調(diào)用runJob2方法2小時(shí)后執(zhí)行第一個(gè)任務(wù)。 然后在后續(xù)執(zhí)行之間要延遲3個(gè)小時(shí)。
您可以在Java EE平臺(tái)中使用此支持。 另外,您還可以調(diào)用BatchRuntime.getJobOperator().start("myJob", new Properties()); 也可以使用任何Quartz計(jì)劃的方法。
- 您可以在WildFly上嘗試所有這些方法 。
- github.com/javaee-samples/javaee7-samples上有大量的Java EE 7示例。
- 該特定示例可在github.com/javaee-samples/javaee7-samples/tree/master/batch/scheduling中找到 。
您如何安排批處理作業(yè)?
翻譯自: https://www.javacodegeeks.com/2014/09/schedule-java-ee-7-batch-jobs.html
總結(jié)
以上是生活随笔為你收集整理的计划Java EE 7批处理作业的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 镁砂的用途 镁砂的用途介绍
- 下一篇: 稽首天中天是什么意思 稽首天中天豪光照大