[代码][Java]代码
跳至 [1] [2] [3] [4] [全屏预览]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
//首先需要下载 quartz 2.0.2
//并将目录下的 quartz-2.0.2\lib\下所要用的jar包导入到系统中
//配置web.xml
<!-- quartz的任务调度begin -->
<servlet>
<servlet-name>
QuartzInitializer
</servlet-name>
<servlet-
class
>
org.quartz.ee.servlet.QuartzInitializerServlet
</servlet-
class
>
<load-on-startup>
1
</load-on-startup>
</servlet>
<!-- quartz的任务调度end -->
|
2. [代码][Java]代码 跳至 [1] [2] [3] [4] [全屏预览]
1
2
3
4
5
6
7
8
9
10
11
|
<!--同时在web.xml中需要另外配置一个初始化的servlet类-->
<!-- 系统初始化 -->
<servlet>
<servlet-name>HMInit</servlet-name>
<servlet-
class
>com.XXX.XXX.servlet.HMInitServlet</servlet-
class
>
<load-on-startup>
1
</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HMInit</servlet-name>
<url-pattern>/HMInit</url-pattern>
</servlet-mapping>
|
3. [代码][Java]代码 跳至 [1] [2] [3] [4] [全屏预览]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/**
*初始化类省略部分代码
**/
public
class
HMInitServlet
extends
HttpServlet {
private
static
final
long
serialVersionUID = -2981672344643340101L;
private
static
Log log = LogFactory.getFactory().getInstance(HMInitServlet.
class
);
public
void
init(ServletConfig config)
throws
ServletException {
//启动任务调度
StdSchedulerFactory factory = (StdSchedulerFactory) getServletContext().getAttribute(QuartzInitializerServlet.QUARTZ_FACTORY_KEY);
Scheduler scheduler = factory.getScheduler();
JobDetail job = JobBuilder.newJob(DbYueJob.
class
).withIdentity(
"按月计算担保余额任务"
,
"担保余额工作组"
).build();
/**
* Cron 表达式‘ 秒 分钟 小时 月中的天 月 周中的天 年(可选)’
* 通配符('*')可以被用来表示域中“每个”
* '/'字符用来表示值的增量,如果分钟域中放入'0/15',它表示“每隔15分钟,从0开始”
* '?'字符可以用在 ‘月中的天’及‘周中的天’域中,它用来表示“没有指定值”。
* 其他可谷歌 ‘ Cron 表达式’
*/
CronTrigger trigger = TriggerBuilder.newTrigger() .withIdentity(
"按月计算余额任务触发器"
,
"余额工作组"
) .withSchedule(CronScheduleBuilder.cronSchedule(
"0 0/1 * * * ?"
)).build();
//每分钟触发一次 job.getJobDataMap().put(VarNameDefs.WORKFLOW_OBJECT, hm.getWorkFlow());//其中这个是向任务中传参的方法 可以根据业务逻辑处理
Date ft = scheduler.scheduleJob(job, trigger);
log.info(job.getKey() +
" 已经被启动: "
+ ft +
" 时间表达式是: "
+ trigger.getCronExpression());
}
}
|