2009-09-30 34 views

回答

29

石英是最知名的解决方案来安排在Java环境的过程,但你有很多选择。检查此列表:

Quartz是一个开放源代码作业调度系统,可以与几乎任何J2EE或J2SE应用程序集成在一起使用,或与其一起使用。 Quartz可以用来创建简单或复杂的时间表。

Jcrontab设计用于扩展和与任何项目集成。读取并存储要在文件,数据库或EJB中执行的任务,并提供Web UI和基本的挥杆GUI。

Essiembre J2EE Scheduler是J2EE应用程序的简单任务调度机制。这个库可以被认为是标准Java API中的Timer和TimerTask类的封装。要执行的任务的配置及其频率是基于XML的。

cron4j是Java 2平台的调度程序,它与UNIX cron守护进程非常相似。

Oddjob的目标是为所有批量文件和cron作业提供一些命令和可见性,从而将企业的关键业务流程联系在一起。

Fulcrum Scheduler提供调度程序服务。它基于Turbine提供的TurbineScheduler,但所有旧的东西都已被删除。目前只有非永久调度程序完成。它从组件config xml文件加载预定作业。

Gos4j-针对Java的面向目标的调度 - 是一种基于目标组织处理优先级的方法。

Job Scheduler是作为恶魔运行的批处理程序,可以使用图形用户界面进行控制。 Job Scheduler为预定程序,脚本以及任务处理的时间和频率使用XML配置。一个API可用于控制事件并记录到您的作业。

JDRing是一个轻量级的Java调度库,它既简单又小巧,但仍支持按指定间隔振铃,作为一次性事件或具有完全类似于cron的控制的复杂调度。

jBatchEngine是用Java编写的批处理作业假脱机程序。与Cron这样的时间驱动调度器相比,jBatchEngine是事件驱动的。

MyBatchFramework是一个开放源码的轻量级框架,旨在创建轻松健壮且可管理的批处理程序,并将其转换为Java语言。

Super with SuperScheduler and SuperWatchdog是一款Java作业调度程序,它为所有应用程序提供了丰富的GUI。它是平台中立的。特别适合作为Linux和Solaris的作业调度程序。它提供了Microsoft Windows Scheduler的超级功能。它提供事件触发的时间安排。它可以在分布式环境中安排任务。一项任务将在网络中的所有机器中执行一次且仅执行一次。所有任务都是节日可调。即使每一份工作都是一份待命的工作,历史将成为重要工作的良好轨迹。它支持国际化。

来源:Open Source Job Schedulers in Java

4

查看TimerTask和Timer - 两者都在该版本的JDK中。

Timer : 
public void schedule(TimerTask task, Date firstTime, long period) 
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period) 

将其设置为在一天内为您的延迟运行,你要那么毫秒数的第一次约会。

3

是否可以使用库如cron4j?它会让你的工作更轻松!

+0

这似乎是因是否该库的可能性将被允许使用第二我 – 2009-09-30 15:37:04

+0

这个建议 - cron4j是一种愉悦,并且用得好好的,比简单得多石英(它也可以工作,它只是比较大,通常比你真正需要的要多;并且对于简单的用例有一些扭曲) – StaxMan 2010-04-07 06:44:21

1

你必须使用Quartz

我也永远不知道谁在首位推出石英虽然。

如果您有应用程序服务器或类似的工件,您可以在那里配置Quartz作业,让它在给定的时间运行您的任务。

+3

石英有许多奇特的特性,所以如果你的要求很详细,它可能是一个不错的选择。但如果你有一个简单的“每天在5:00点火”,我只是使用计时器。 – Jay 2009-09-30 15:45:24

2
  • Java定时器可以间隔,预先固定的时间等运行任意的作业等。
  • Quartz
  • 如果你真的想成为它的骨头,把它包装在一个shell脚本中并放入cron中。
0

也许,近期后可以帮助你:

Will this pause my Java thread for a minute?

我对这个问题的反应是使用内置的基于java.util.Time和java.util.TimerTask中的类实现一个java: Will this pause my Java thread for a minute?

或者,您可以使用* nix平台的crontab服务(也可用于Windows平台)。这是定期运行独立工作的最简单和轻量级的风格。

[]的,

和过去的

+0

快速crontab如何: http://www.crontabrocks.org/ []的和过去 – apast 2009-09-30 15:40:09

相关问题