发表于: 2017-11-02 23:11:48
1 832
今天完成的事情:终于配对了maven 舜哥的代码完全不爆红了 然而金信的代码一片红
试了几个简单的quartz spring quartz
public class Test {
public static void main(String[] args) {
//1、创建JobDetial对象
JobDetail jobDetail = new JobDetail();
//设置工作项
jobDetail.setJobClass(MyJob.class);
jobDetail.setName("MyJob_1");
jobDetail.setGroup("JobGroup_1");
//2、创建Trigger对象
SimpleTrigger strigger = new SimpleTrigger();
strigger.setName("Trigger_1");
strigger.setGroup("Trigger_Group_1");
strigger.setStartTime(new Date());
//设置重复停止时间,并销毁该Trigger对象
java.util.Calendar c = java.util.Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis() + 7000 * 1L);
strigger.setEndTime(c.getTime());
strigger.setFireInstanceId("Trigger_1_id_001");
//设置重复间隔时间3
strigger.setRepeatInterval(1000 * 1L);
//设置重复执行次数
strigger.setRepeatCount(3);
//3、创建Scheduler对象,并配置JobDetail和Trigger对象
SchedulerFactory sf = new StdSchedulerFactory();
Scheduler scheduler = null;
try {
scheduler = sf.getScheduler();
scheduler.scheduleJob(jobDetail, strigger);
//4、并执行启动、关闭等操作
scheduler.start();
Thread.sleep(5000);
scheduler.shutdown(true);
} catch (SchedulerException e) {
e.printStackTrace();
}
catch (InterruptedException e) {
e.printStackTrace();
}
<!-- 定义目标bean和bean中的方法 -->
<bean id="SpringQtzJob" class="com.jnshu.SpringQtz"/>
<bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"> <ref bean="SpringQtzJob"/></property>
<property name="targetMethod"> <!-- 要执行的方法名称 --><value>execute</value></property>
</bean>
<!-- ======================== 调度触发器 ======================== -->
<!-- 指定重复间隔的定时任务 -->
<!-- 调度时间设置-->
<!--<bean id="testTaskJobTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="SpringQtzJobMethod" />
</property>
<!– 延时启动时间,单位ms –>
<property name="startDelay" value="1000"></property>
<!– 重复间隔时间,单位ms –>
<property name="repeatInterval" value="1000">
</property>
</bean>
-->
<!-- 按周期执行的任务 -->
<!-- 调度时间设置-->
<!-- 定义触发时间 -->
<bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="SpringQtzJobMethod"></property>
<property name="cronExpression" value=" 0 11 17 ? * *"></property>
<!-- 0 * 14 * *-->
<!-- 0 05 11 ? * *-->
</bean>
<!-- ======================== 调度工厂 ======================== -->
<bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="CronTriggerBean"/>
</list>
</property>
明天计划的事情:请假
遇到的问题:maven的setting配完一片红 大概是私服哪里配错了
我一直以为是 本地仓库 远程仓库 私服 才知道是本地 私服 远程
只能直接替换setting文件 导入公司8g的包
收获:quatz spring quartz
Quartz与Spring的整合也非常简单,Spring提供一组Bean来支持:MethodInvokingJobDetailFactoryBean、SimpleTriggerBean、SchedulerFactoryBean,看看上面代码注入什么属性即可明白了。Spring会在Spring容器启动时候,启动Quartz容器。
评论