quartz定时任务如何记录任务开始时间和任务结束时间,用Java语言实现
时间: 2024-05-15 11:18:01 浏览: 67
java quartz定时任务
4星 · 用户满意度95%
要记录Quartz定时任务的开始时间和结束时间,可以使用JobExecutionContext对象中提供的方法获取当前任务的执行时间。
以下是一个示例代码,可以实现该功能:
```java
public class MyJob implements Job {
private final Logger LOGGER = LoggerFactory.getLogger(MyJob.class);
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
long startTime = System.currentTimeMillis();
// 任务逻辑代码
long endTime = System.currentTimeMillis();
LOGGER.info("Job {} executed in {}ms", context.getJobDetail().getKey().getName(), endTime - startTime);
}
}
```
在该示例代码中,我们通过System.currentTimeMillis()获取当前系统时间,分别记录了任务执行前和执行后的时间,并通过Logger输出了任务执行时间。
在Quartz的配置文件中,我们需要指定任务执行的时间和执行类,例如:
```xml
<job>
<job-detail>
<name>myJob</name>
<job-class>com.example.MyJob</job-class>
</job-detail>
<trigger>
<cron>
<name>myTrigger</name>
<cron-expression>0/5 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
```
在这个配置文件中,我们使用了Cron表达式指定了job的执行时间为每5秒执行一次,并指定了执行类为MyJob。
阅读全文