日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SSH框架中 Spring设置定时器 Quartz

發布時間:2025/5/22 javascript 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSH框架中 Spring设置定时器 Quartz 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,首先下載quartz-1.6.0.jar架包,到lib目錄下

二,寫你自己定時器業務方法

?

package com.lbnet.lzx.timing;import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.scheduling.quartz.QuartzJobBean; import com.lbnet.lzx.service.IOrderService; public class OrderNoRefact extends QuartzJobBean{ private static BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext-*.xml"); @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { // TODO Auto-generated method stub IOrderService orderdao=(IOrderService)factory.getBean("OrderServiceImpl"); System.out.println("訂單超時!"); orderdao.updateOrderTimeOver(); } }

三。在spring文件中進行配置

配置定時任務<bean id="SchedulerTask3" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass"> <value>com.lbnet.lzx.timing.OrderNoRefact</value> </property> </bean> 配置定時時間 <bean id="SchedulerTaskTrigger3" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="SchedulerTask3" /> <property name="cronExpression"> <value>0 0/30 0/1 * * ?</value> </property> </bean> 開啟定時任務 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="SchedulerTaskTrigger3" /> </list> </property> </bean>

四。一些定時參數意義

0 0/30 0/1 * * ? 代表每天每30分鐘運行一次

0 0/3 0/1 * * ?? 代表每天每3分鐘運行一次

0 11 23 * * ??? 代表每天晚上23:11運行一次

?

五。如果重啟報異常

org.apache.commons.collections.SetUtils.orderedSet(Ljava/util/Set;)Ljava/util/Set;

請把commons-collections-2.1.1.jar,checkstytle-all.jar刪掉,然后加入commons-collections.jar包就OK了

targetMethod:指定需要執行的assetsMasterQuartz中的execute()方法
concurrent:對于相同的JobDetail,當指定多個Trigger時, 很可能第一個job完成之前,第二個job就開始了。指定concurrent設為false,多個job不會并發運行,第二個job將不會在第一個job完成之前開始。
cronExpression :0 32 23 * * ? 表示每天23:32觸發
具體配置如下:
一個cron表達式有至少6個(也可能是7個)由空格分隔的時間元素。從左至右,這些元素的定義如下:
1.秒(0–59)
2.分鐘(0–59)
3.小時(0–23)
4.月份中的日期(1–31)
5.月份(1–12或JAN–DEC)
6.星期中的日期(1–7或SUN–SAT)
7.年份(1970–2099)
??????????秒 0-59 , - * /
??????????分 0-59 , - * /
??????????小時 0-23 , - * /
??????????日期 1-31 , - * ? / L W C
??????????月份 1-12 或者 JAN-DEC , - * /
??????????星期 1-7 或者 SUN-SAT , - * ? / L C #
??????????年(可選)留空, 1970-2099 , - * /
??????????表達式意義
??????????"0 0 12 * * ?" 每天中午12點觸發
"0 15 10 ? * *" 每天上午10:15觸發
"0 15 10 * * ?" 每天上午10:15觸發
"0 15 10 * * ? *" 每天上午10:15觸發
"0 15 10 * * ? 2005" 2005年的每天上午10:15觸發
"0 * 14 * * ?" 在每天下午2點到下午2:59期間的每1分鐘觸發

"0 0/5 14 * * ?" 在每天下午2點到下午2:55期間的每5分鐘觸發
"0 0/5 14,18 * * ?" 在每天下午2點到2:55期間和下午6點到6:55期間的每5分鐘觸發

"0 0-5 14 * * ?" 在每天下午2點到下午2:05期間的每1分鐘觸發

"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44觸發
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15觸發
"0 15 10 15 * ?" 每月15日上午10:15觸發
"0 15 10 L * ?" 每月最后一日的上午10:15觸發
"0 15 10 ? * 6L" 每月的最后一個星期五上午10:15觸發
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一個星期五上午10:15觸發
"0 15 10 ? * 6#3" 每月的第三個星期五上午10:15觸發
每天早上6點
0 6 * * *
每兩個小時
0 */2 * * *
晚上11點到早上7點之間每兩個小時,早上八點
0 23-7/2,8 * * *
每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點
0 11 4 * 1-3
1月1日早上4點
0 4 1 1 *
秒 分??時???日??月 星期
0??30 11,3??????*??1-5??11:30 和3:30
0 45 23,11 * * ? 每天11:45和23:45觸發

triggers:通過再添加其他的ref元素可在list中放置多個觸發器

?

詳情請看:http://biyibi.tuita.com/blogpost/23449063

轉載于:https://www.cnblogs.com/JOEH60/p/5764717.html

總結

以上是生活随笔為你收集整理的SSH框架中 Spring设置定时器 Quartz的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。