關於Java Web 使用Spring中使用Quartz(定時呼叫、實現固定時間執行), 觸發定時器(執行某些任務)的例項
阿新 • • 發佈:2019-01-08
第一步:pom.xml中Maven下載需要的jar架包。
<!--```````````定時器```````````--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>4.1.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.1.6.RELEASE</version> </dependency> <!--quartz所需jar--> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.5</version> </dependency> <dependency> <groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId> <version>1.6.12</version> </dependency>
第二步:applicationContext.xml配置觸發器。
<!--首先是配置要定時載入的目標類--> <bean id="MainAction" class="com.jandar.frame.system.web.MainAction"/> <!-- 配置定時器配置 --> <bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="MainAction" /> <property name="targetMethod" value="myTimer" /> <property name="concurrent" value="false"/> </bean> <!--配置定時器時間間隔觸發器,“0/5 * * * * ?” 設定的是每 五秒 觸發一次--> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="SpringQtzJobMethod" /> <property name="cronExpression" value="0/5 * * * * ?" /> </bean> <!-- 配置啟動定時器 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="cronTrigger" /> </list> </property> </bean>
第二步:實現的呼叫方法。
/** * 基於註解的定時器 * Create by 2017/08/17 * * @author Jmlc */ public void myTimer(){ System.out.println("動態時間:"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));//替換成想要執行任務 }