Quartz 定时器的使用之 XML 配置方式 (二)
来源:互联网 发布:云计算需求调研报告 编辑:程序博客网 时间:2024/06/05 09:28
最近发现一个更好的配置定时器的方法, 废话不多说,开搞:
1. 导入 jar 包,这里使用的 quartz 包是 spring 的所以无需引入其他 jar
2. 在你的配置文件目录下 创建一个 xml 文件
下面就是代码:
⑴定义触发器管理器 我是这么叫
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- <property name="startupDelay" value="180"/> 启动服务器后延迟启动定时任务 --> <property name="triggers"> <list> <ref bean="trigger1" /> <ref bean="trigger2" /> <ref bean="trigger3" /> <ref bean="trigger4" /> </list> </property> <property name="autoStartup" value="true" /><!--这里配置自动启动--> </bean>
⑵注册 triggerbean
<!-- 绑定 begin --> <bean id="trigger1" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="jobDetail2" /> <property name="cronExpression" value="*/10 * * * * ?" /><!-- 每隔10秒钟触发一次 --> </bean>
⑶定义具体的 jobDetail
<bean id="sc_timerJobDetail2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref=job1Class" /> <property name="targetMethod" value="execute" /> <property name="concurrent" value="false" /> <!-- 是否允许任务并发执行。当值为false时,表示必须等到前一个线程处理完毕后才再启一个新的线程 --></bean>
⑷定义具体的 Job 类 这个类是咱们自己写的 就是上面的 job1Class
job1ClassProperty 就是这个类的成员属性啦
<bean id="job1Class" class="xyz.spacexplore.Job1Class"> <property name="job1ClassProperty" ref="job1ClassProperty"></property> </bean>
===========================================
现在看下各个引用到的 spring 的类,主要看他们的一些成员属性:
SchedulerFactoryBean:
private Class<? extends SchedulerFactory> schedulerFactoryClass = StdSchedulerFactory.class; private String schedulerName; private Resource configLocation;//也是配置文件位置 private Properties quartzProperties;//quartz的配置文件 这个没用过 private Executor taskExecutor; private DataSource dataSource; private DataSource nonTransactionalDataSource; private Map<String, ?> schedulerContextMap; private ApplicationContext applicationContext;//上下文对象 private String applicationContextSchedulerContextKey; private JobFactory jobFactory; private boolean jobFactorySet = false; private boolean autoStartup = true;//是否自动启动 private int startupDelay = 0;//设置延迟启动时长 private int phase = Integer.MAX_VALUE; private boolean exposeSchedulerInRepository = false; private boolean waitForJobsToCompleteOnShutdown = false; private Scheduler scheduler;
CronTriggerBean
private static final Constants constants = new Constants(CronTrigger.class); private JobDetail jobDetail;//这个就不用说了 private String beanName;//更不用说了 private long startDelay = 0;//也是延迟启动
MethodInvokingJobDetailFactoryBean:
private static Class<?> jobDetailImplClass;//job的具体实现类 private static Method setResultMethod; private String name; private String group = Scheduler.DEFAULT_GROUP; private boolean concurrent = true; private String targetBeanName; private String[] jobListenerNames; private String beanName; private ClassLoader beanClassLoader = ClassUtils.getDefaultClassLoader(); private BeanFactory beanFactory; private JobDetail jobDetail; //静态成员类public static class MethodInvokingJob extends QuartzJobBean
0 0
- Quartz 定时器的使用之 XML 配置方式 (二)
- Quartz定时器的使用之XML配置方式(一)
- Spring3中定时器的配置使用之Quartz
- Spring3中定时器的配置使用之Quartz
- Spring3中定时器的配置使用之Quartz
- Spring3中定时器的配置使用之Quartz
- Spring定时器的两种实现方式二(quartz)
- Quartz-Spring集成Quartz通过XML配置的方式
- quartz定时器的使用
- Quartz定时器的使用
- 定时器Quartz的使用
- 使用Spring的Quartz方式实现Java定时器功能
- quartz定时器注册xml文件配置
- Spring Quartz定时器的配置
- quartz的CronTriggerBean定时器配置
- Spring框架的定时器(Quartz)的配置和使用
- spring quartz定时器的简单配置和使用
- Spring quartz定时器的配置和简单使用
- C++高质量编程指南笔记(五)
- 最全面和简单适配屏幕工具AutoLayout的使用教程!
- 析构函数定义为虚函数场景(多态应用)
- java-三大特性之一继承
- github+hexo搭建独立博客
- Quartz 定时器的使用之 XML 配置方式 (二)
- 《了不起的盖茨比》
- 计算机网络(数据链路层)
- PHP源代码加密
- server多路复用
- Android中使用Notification实现宽视图通知栏(Notification示例二)
- android volley关于缓存笔记
- 随手记(vector定义二维数组)
- Java 使用 Redis入门