Quartz框架 进行定时邮件发送等
一.Quartz框架maven地址
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.1</version> </dependency>
二.入门案例-----Quartz框架和spring的整合
第一步:创建maven工程
第二步:自定义任务--须要执行的方法
第三步:提供spring配置文件,注册自定义的任务
第四步:在spring配置文件中提供一个jobDetail,负责通过反射调用自定义类中的方法
第五步:在spring配置文件中注册一个触发器,指定出发时间
第六步:在spring配置文件中提供一个调度工厂负责统一,调度任务
第七步:创建spring工厂,执行任务
<!-- 注册代理对象 --> <jaxws:client id="crmClient" address="http://localhost:8081/crm/webservice/service" serviceClass="com.itheima.crm.service.CustomerService"></jaxws:client> <!-- 注册自定义任务对象 --> <bean id="myJob" class="com.itheima.bos.service.jobs.MailJob"></bean> <!-- 配置JobDetail,用于通过反射调用myJob --> <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 注入目标对象 --> <property name="targetObject" ref="myJob"/> <!-- 注入目标方法 --> <property name="targetMethod" value="sendMsg"/> </bean> <!-- 配置触发器,指定任务的触发时间 --> <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- 注入jobDetail --> <property name="jobDetail" ref="jobDetail"/> <!-- 通过表达式指定任务触发的时间 --> <property name="cronExpression"> <value>0/10 * * * * ? 2020</value> </property> </bean> <!-- 调度工厂 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 注入触发器,可以有多个 --> <property name="triggers"> <list> <ref bean="myTrigger"/> </list> </property> </bean>
cron表达式:
生成网址:cron.qqe2.com