我需要帮助在特定时间(如下午2点)在服务器上运行Java程序(以索引新文件)。
有人告诉我Java有一些叫做Job的东西,但我不知道该如何使用。我尝试了这个:
boolean cond=true;
while(cond){
@SuppressWarnings("deprecation")
int heur = new Date().getHours();
@SuppressWarnings("deprecation")
int minute= new Date().getMinutes();
if(heur==16 && minute==02){
indexer.close();
end = new Date().getTime();
File f;
cond=false;
}
但是有了这个程序仍在运行。
如何在指定时间运行程序?
有一个名为Quartz的API ,您的程序可以在其中调度“作业”,并在该时刻运行它。
在给出示例之前,请尝试使用此链接。
编辑:首先,您必须创建一个实现org.quartz.Job的类。当您实现该方法时execute(JobExecutionContext jobExecution)
,您将必须实现method ,这是在触发“触发器”时将运行的方法。
设置时间表:
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
// Retrieve a scheduler from schedule factory
Scheduler scheduler = null;
try {
scheduler = schedulerFactory.getScheduler();
}
catch (SchedulerException e) {
e.printStackTrace();
}
//Set up detail about the job
JobDetail jobDetail = new JobDetail("jobDetail", "jobDetailGroup", ImplementedJob.class);
SimpleTrigger simpleTrigger = new SimpleTrigger("Trigger Name","defaultGroup", DATE);
// schedule a job with JobDetail and Trigger
scheduler.scheduleJob(jobDetail, simpleTrigger);
// start the scheduler
scheduler.start();
问题内容: 我有一个Web应用程序,每小时与中央数据库同步四次。该过程通常需要2分钟。我想将此进程作为线程在X:55,X:10,X:25和X:40运行,以便用户知道在X:00,X:15,X:30和X:45他们有数据库的干净副本。这只是管理期望。我已经通过了执行器,但是调度是通过它完成的,我认为不能保证以小时为单位的实际运行时间。我可以使用第一个延迟来启动,以便第一个接近启动时间和每15分钟的计划,
例如,我想编写一个Java程序,在每天上午12点打印“Hello World”,如何使用Quartz调度器实现这一点? 这样地?我应该把打印“hello world”方法放在哪里?
我想创建一个条件,当用户下订单时,有一个线程运行20秒来检查数据库的支付状态是完成还是挂起,如果完成了,线程将停止,如果仍然挂起,线程将继续运行20秒,并更新数据库中的状态以取消,我使用mybatis和XML映射器 这是我的代码 下面是我在控制器中的代码 这是数据库 它不会显示任何错误,但也不会改变任何东西...
linux计算机上安装的java版本 sudo更新备选方案--配置java /usr/lib/jvm/java-17-oracle/bin/java /usr/lib/jvm/java-17-oracle/bin/java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 我如何制作一个文件. sh,它在java版本1.8下运行我的程序,而不改变java
现在我每天下午3点运行我的cron作业 但是我想一天运行两次cron作业。上午10点30分和下午2点30分 我相信此命令将在上午 10:30 运行。我应该如何在下午 2:30 运行它?
问题内容: 我想编写一个简单的python脚本来完成特定的工作。我花了一些时间从网站链接信息。 在正确的时间单击这些链接的最佳方法是什么?我是否需要计算当前电流与列表中的电流之间的时间间隔并睡眠一会儿? 我真的停留在这一点上,并欢迎任何可能有用的想法。 问题答案: 看一下Python的sched模块。