提示:假设我有个项目为 devpstd.atTask
1、接口:
ekp.src.com.landray.kmss.devpstd.atTask.service
1)新建定时任务接口
新建一个接口类,如DevpstdAtTaskAutoTaskService.java
2)添加一个定时任务方法(抽象方法)
package com.landray.kmss.devpstd.atTask.service;
// 如何写定时任务
public
interface IDevpstdAtTaskAutoTaskService {
// 需要在DevpstdTestScheduledServiceImp里实现该类
public
abstract
void
autoTaskMethod()
throws Exception;
// 抽象方法
}
2、
实现:ekp.src.com.landray,kmss.devpstd.atTask.service.spring
1)新建定时任务的实现类,如:DevpstdAutoTaskServiceImp.java
package com.landray.kmss.devpstd.atTask.service.spring;
import com.landray.kmss.devpstd.atTask.service.IDevpstdAtTaskAutoTaskService;
public
class DevpstdAutoTaskServiceImp
implements IDevpstdAtTaskAutoTaskService {
@Override
public
void autoTaskMethod()
throws Exception {
// 此处写定时任务的具体业务
System.
out.println(
"scheduledMethod ---------------------start");
System.
out.println(
"Liquid:AutoTask launched sucessfully!");
System.
out.println(
"scheduledMethod ---------------------end");
}
}
3、配置1:ekp.WebContent.WEB-INF.KmssConfig.devpstd
.atTask
.(
spring
.xml)
将service的实现类注册到spring容器:在spring.xml -> beans标签内,加入以下内容(例子):
<
bean
id=
"DevpstdAtTaskAutoTaskTarget"
class=
"com.landray.kmss.devpstd.atTask.service.spring.DevpstdAtTaskServiceImp"
>
</
bean
>
id属性为自定义,一般以 类名去掉Imp+Target
class属性为所写实现类的路径
4、配置2:ekp.WebContent.WEB-INF.KmssConfig.devpStdTest
.atTask
.(
design
.xml)
配置quartz属性:在design.xml -> configs标签内,加入以下内容(例子):
<
quartz
messageKey=
"devpstd-atTask:module.devpstd.atTask"
jobService=
"DevpstdAtTaskAutoTaskTarget"
jobMethod=
"autoTaskMethod"
cronExpression=
"0 0 0 0 0 ? 2099-2100"
/>
messageKey:定时任务名称(只能引用资源,无法直接写入字符串)
(
devpStd-test:
str.001
表示
devpstd.atTask.
ApplicationResources内的对应中文)
jobService:定时任务引用的beanid,即步骤3中的id
jobMethod:要调用的方法名
cronExpression:
CronExpression 表达式详解
在线Cron表达式生成器 (pppet.net)