Java计划任务(windows)



我面临一个问题,我想安排某个java应用程序每x天运行一次,或每x分钟运行一次。我真的很想有一个平台独立的解决方案,但我已经放弃了找到一个好的解决方案的希望。

为了实现调度,我已经通过了几个解决方案,一个是服务,一个是使用windows api。我真的不喜欢使用某个服务,因为它在我的项目中部署得不好。我必须使用一些脚本来安装服务,这对我来说似乎不是正确的解决方案。

我也用过windows的调度服务。他们看起来很适合这份工作。但我有问题解析命令行。我希望能够修改我的任务后,我安装了它。但是当我查询命令行工具时,输出语言可能会有所不同(区域设置)。

也许有一种解决方案可以在每个操作系统中实现不同的策略?

当然,试试Quartz。没有脚本,没有服务,只有一个JAR在你的应用程序。所有的Java -工作在任何操作系统。

我不明白为什么需要平台无关性。我的经验是,计划作业很少离开部署它们的服务器,除非作业不再需要或者服务器退役。他们只是不动。

如果Quartz不是你的菜,我建议你找一个比你更了解Windows的服务器管理员来部署你的cron作业,然后完成它。

虽然对我来说"平台无关的解决方案"one_answers"我想使用Windows调度服务"是有点矛盾的(我同意duffymo的看法,Quartz可能是最好的纯Java解决方案),一些Powershell脚本可能会使在Windows中操作调度程序变得更容易——看看这里,这里,这里以及其他数百个讨论Powershell的地方。现代的Windows应该都有Powershell。

最新更新