如何在指定的时间(比如上午11:00)使用java.util.Timer
每天运行一项任务?我使用的是JDK 1.4.2,我知道这很旧,但这是项目需要的。如何从Java每天运行一项任务?
回答
石英是最知名的解决方案来安排在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的超级功能。它提供事件触发的时间安排。它可以在分布式环境中安排任务。一项任务将在网络中的所有机器中执行一次且仅执行一次。所有任务都是节日可调。即使每一份工作都是一份待命的工作,历史将成为重要工作的良好轨迹。它支持国际化。
查看TimerTask和Timer - 两者都在该版本的JDK中。
Timer :
public void schedule(TimerTask task, Date firstTime, long period)
public void scheduleAtFixedRate(TimerTask task, Date firstTime, long period)
将其设置为在一天内为您的延迟运行,你要那么毫秒数的第一次约会。
是否可以使用库如cron4j?它会让你的工作更轻松!
- Java定时器可以间隔,预先固定的时间等运行任意的作业等。
- Quartz库
- 如果你真的想成为它的骨头,把它包装在一个shell脚本中并放入cron中。
也许,近期后可以帮助你:
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平台)。这是定期运行独立工作的最简单和轻量级的风格。
[]的,
和过去的
快速crontab如何: http://www.crontabrocks.org/ []的和过去 – apast 2009-09-30 15:40:09
- 1. Spring Java - 运行进程每天执行一次任务
- 2. 我如何做背景任务,每天早上运行一次?
- 3. scala - 如何每天运行一个任务11PM
- 4. 运行任务周期性(每天一次/每周一次)
- 5. playframework每天与Akka运行任务
- 6. schtasks/create(有一项任务每天运行并且每小时重复
- 7. 的Java的TimerTask - 在XX运行任务:MM小时每天
- 8. 如何使用NServiceBus安排每天运行的任务
- 9. 每天执行一次任务
- 10. 如何在每次任务中运行一个capistrano任务?
- 11. Android - 创建一项每天运行一次的服务
- 12. 石英:每天运行一次任务,不按repeatInterval
- 13. 任务在Xamarin Forms上每天运行一次
- 14. 每天在同一时间运行sitecore计划任务
- 15. Ruby on Rails每天运行一次任务
- 16. 在Android上每天运行计划任务一次
- 17. 每天自动运行一个任务或代码
- 18. 运行一个任务的天 - Android
- 19. 如何在Nodejs中每隔15天运行一次节点调度任务?
- 20. 如何让Arduino在规定的时间每天执行一项任务?
- 21. 如何安排一个Java程序每天在Windows中运行?
- 22. 如何为目录中的每个文件运行java任务?
- 23. 如何安排C#Windows服务每天运行一个方法?
- 24. iOS每天运行一次
- 25. 如何运行一个春天项目
- 26. Android中每秒执行一项任务
- 27. 从MySQL查询返回的每一行运行Celery任务?
- 28. 如何在时间13:00到13:00,每天例如运行我的项目,例如每天(在Java)
- 29. 每天午夜执行任务 - Grails 3.2.2
- 30. 在java中每周运行一次的计划任务
这似乎是因是否该库的可能性将被允许使用第二我 – 2009-09-30 15:37:04
这个建议 - cron4j是一种愉悦,并且用得好好的,比简单得多石英(它也可以工作,它只是比较大,通常比你真正需要的要多;并且对于简单的用例有一些扭曲) – StaxMan 2010-04-07 06:44:21