日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JAVA使用quartz添加定時任務,并依賴注入對象操作

瀏覽:27日期:2022-08-23 18:38:43

最近在寫定時任務,以前沒接觸過。查了些相關資料說使用quartz定時框架。

需要配置文件:config-quartz.xml

相關配置如下(紅色部分是之后添加的,在后面步驟會說明):

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:context='http://www.springframework.org/schema/context' xsi:schemaLocation=' http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd'> <bean class='org.springframework.scheduling.quartz.SchedulerFactoryBean'> <property name='schedulerName' value='rqmis'></property> <property name='applicationContextSchedulerContextKey' value='applicationContextKey' /> <property name='configLocation' value='classpath:quartz.properties' /> <property name='autoStartup' value='true'></property> <property name='triggers'> <list> <bean class='org.springframework.scheduling.quartz.CronTriggerFactoryBean'> <property name='cronExpression' value='0 0 0 * * ?'></property> <property name='jobDetail'> <bean class='org.springframework.scheduling.quartz.JobDetailFactoryBean'> <property name='jobClass' value='com.wy.care60.job.HealthPlanJob' /> </bean> </property> </bean> </list> </property> </bean> <!--</property> </bean>--> </beans>

quartz.properties

#============================================================================# Configure Main Scheduler Properties #============================================================================ org.quartz.scheduler.instanceName = WrhFrameSchedulerorg.quartz.scheduler.instanceId = AUTO org.quartz.scheduler.skipUpdateCheck = true #============================================================================# Configure ThreadPool #============================================================================ org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPoolorg.quartz.threadPool.threadCount = 12org.quartz.threadPool.threadPriority = 5 #============================================================================# Configure JobStore #============================================================================ org.quartz.jobStore.misfireThreshold = 60000 org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore #org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX#org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate#org.quartz.jobStore.useProperties = false#org.quartz.jobStore.dataSource = myDS#org.quartz.jobStore.tablePrefix = QRTZ_#org.quartz.jobStore.isClustered = false #============================================================================# Configure Datasources #============================================================================ #org.quartz.dataSource.myDS.driver = org.postgresql.Driver#org.quartz.dataSource.myDS.URL = jdbc:postgresql://localhost/dev#org.quartz.dataSource.myDS.user = jhouse#org.quartz.dataSource.myDS.password = #org.quartz.dataSource.myDS.maxConnections = 5

最后spring-mvc.xml配置文件中獎quartz.xml文件引入即可:

<import resource='config-quartz.xml'></import>

然后寫測試類開始測試定時任務:

package com.wy.care60.job; import com.wy.care60.dao.MElementMapper;import com.wy.care60.dao.MInterEnumMapper;import com.wy.care60.dao.MProjectMapper;import com.wy.care60.model.MInterEnum;import com.wy.care60.model.MProject;import org.apache.tools.ant.Project;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.quartz.QuartzJobBean;import org.springframework.stereotype.Component; import javax.annotation.Resource;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.List; /** * Created by Administrator on 2017/12/20. */@Componentpublic class HealthPlanJob extends QuartzJobBean { @Autowired MProjectMapper mProjectMapper; @Override public void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException { System.out.println(new Date()); } }

發(fā)現時間可以打印出來,證明定時任務成功開啟;但是同時也發(fā)現了一個問題,就是依賴注入的 mProjectMapper值為null。

開始以為是Spring的原因,導致注解失敗,后來查了相關資料發(fā)現,不是Spring的原因,而是因為:這個Job是由quartz實例化出來的,不受Spring的管理,所以就導致注入失敗。解決辦法是自己new一個類,讓Spring實例化這個類,代碼如下

import org.quartz.spi.TriggerFiredBundle;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.config.AutowireCapableBeanFactory;import org.springframework.scheduling.quartz.AdaptableJobFactory; public class MyJobFactory extends AdaptableJobFactory { @Autowired private AutowireCapableBeanFactory capableBeanFactory; protected Object createJobInstance(TriggerFiredBundle bundle) throws Exception { //調用父類的方法 Object jobInstance = super.createJobInstance(bundle); capableBeanFactory.autowireBean(jobInstance); return jobInstance; } }

然后把這個類配置到Spring中去,(config-quartz.xml中紅色部分)

<bean class='com.wy.care60.job.MyJobFactory'></bean>

然后在把org.springframework.scheduling.quartz.SchedulerFactoryBean的jobFactory設置成我們自己的。(config-quartz.xml中紅色部分)

<bean name='MyScheduler' class='org.springframework.scheduling.quartz.SchedulerFactoryBean'><!-- 其他屬性省略 --><property name='jobFactory' ref='jobFactory'></property></bean>

config-quartz.xml完整版如下:

<?xml version='1.0' encoding='UTF-8'?><beans xmlns='http://www.springframework.org/schema/beans' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:context='http://www.springframework.org/schema/context' xsi:schemaLocation=' http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd'> <bean class='com.wy.care60.job.MyJobFactory'></bean> <bean class='org.springframework.scheduling.quartz.SchedulerFactoryBean'> <property name='schedulerName' value='rqmis'></property> <property name='applicationContextSchedulerContextKey' value='applicationContextKey' /> <property name='configLocation' value='classpath:quartz.properties' /> <property name='autoStartup' value='true'></property> <property name='jobFactory' ref='jobFactory'></property> <property name='triggers'> <list> <bean class='org.springframework.scheduling.quartz.CronTriggerFactoryBean'> <property name='cronExpression' value='0 0 0 * * ?'></property> <property name='jobDetail'> <bean class='org.springframework.scheduling.quartz.JobDetailFactoryBean'> <property name='jobClass' value='com.wy.care60.job.HealthPlanJob' /> </bean> </property> </bean> </list> </property> </bean> <!--</property> </bean>--> </beans>

到這為止,成功!

以上這篇JAVA使用quartz添加定時任務,并依賴注入對象操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久精品网| 国产精久久久| 久久久久.com| а√天堂8资源在线| 视频小说一区二区| 欧美日韩国产高清电影| 三级小说欧洲区亚洲区| 国产精品av一区二区| 亚洲在线国产日韩欧美| 日韩毛片一区| 午夜av成人| 日韩国产在线不卡视频| 欧美aa一级| 国产日韩欧美三区| 亚洲不卡视频| 六月丁香综合在线视频| 精品中国亚洲| 亚洲三区欧美一区国产二区| 丝袜国产日韩另类美女| 香蕉久久久久久久av网站| 美女视频黄免费的久久| 高清日韩中文字幕| 黑丝一区二区三区| 日本成人手机在线| 欧美精品资源| 亚洲精品a级片| 丝袜亚洲另类欧美| 免费在线观看一区| 欧美午夜不卡| 亚洲精品国产精品粉嫩| 欧美精品国产| 99久久精品网| 欧美偷窥清纯综合图区| 91视频一区| 日本精品在线中文字幕| 日韩av有码| 国产成人精品一区二区免费看京| 日本 国产 欧美色综合| 高清一区二区三区| 久久先锋影音| 亚洲午夜精品久久久久久app| 久久精品九色| 日韩精品久久久久久久软件91| 亚洲视频播放| av一区在线| 日韩精品一卡二卡三卡四卡无卡| 亚洲国产专区| 欧美99久久| 日本三级亚洲精品| 播放一区二区| 欧美激情精品| 亚洲a成人v| 一区二区三区国产在线| 久久久777| 日韩在线高清| 国产精品成人一区二区不卡| 久久av超碰| 欧美激情在线精品一区二区三区| 精品久久精品| 日本不良网站在线观看| 福利片在线一区二区| 日韩精品诱惑一区?区三区| 欧美日本久久| 精品国产美女a久久9999| 夜鲁夜鲁夜鲁视频在线播放| 亚洲国产不卡| 午夜日韩在线| 人人精品人人爱| 日本亚洲视频在线| 久久美女性网| 久久99高清| 国产传媒在线| 国产精品亲子伦av一区二区三区| 999国产精品999久久久久久| 日韩高清电影免费| 免费看欧美美女黄的网站| 欧美国产小视频| 精品国产aⅴ| 婷婷综合六月| 色网在线免费观看| 91精品久久久久久久久久不卡| 国产精品亚洲欧美日韩一区在线| 999久久久亚洲| 日韩精品91亚洲二区在线观看| 在线精品亚洲欧美日韩国产| 视频一区二区三区入口| 亚洲精品高潮| 在线一区免费| 日韩高清在线不卡| 精品国产精品久久一区免费式 | 亚洲久久在线| 国产成人1区| 97视频热人人精品免费| 国产伊人精品| 日日夜夜免费精品视频| 久久精品国产99国产| 亚洲第一区色| 蜜臀av亚洲一区中文字幕| 欧美一级二级视频| 免费日韩成人| 岛国av在线播放| 国产精品美女| 免费国产自线拍一欧美视频| 色老板在线视频一区二区| 国产精品66| 久久精品国产精品亚洲毛片| 国产精品对白久久久久粗| 免费视频久久| 综合欧美亚洲| 综合一区在线| 国产欧美自拍一区| 久久国产小视频| 99久久亚洲精品蜜臀| 国产乱码精品一区二区亚洲| 91久久亚洲| 日韩午夜av在线| 日韩精品视频网站| 久久精品99国产精品| 欧美久久天堂| 久久久91麻豆精品国产一区| 日韩不卡一二三区| 蜜桃av一区二区三区电影| 午夜精品久久久久久久久久蜜桃| 国产精品三级| 欧美日韩午夜| 欧美午夜网站| 久久精品免费看| 2023国产精品久久久精品双| 国产手机视频一区二区 | 四虎国产精品免费观看| 深夜福利视频一区二区| 欧美中文一区二区| 免费看日韩精品| 精品亚洲成人| 欧美日韩国产高清| 国产探花一区在线观看| 人在线成免费视频| 久久久夜夜夜| 国产精品资源| 国产精品成人自拍| 亚洲免费激情| 蜜桃久久av| 国产精品日韩久久久| 亚洲激情不卡| 日韩中文视频| 日韩网站中文字幕| 99xxxx成人网| 亚洲精品自拍| 精品丝袜久久| 91久久视频| 精品资源在线| 亚洲精品电影| 欧洲av一区二区| 国产精品探花在线观看| 丝袜美腿亚洲色图| 91视频一区| 国产精品18| 少妇精品久久久一区二区| 精品日本视频| 亚洲免费精品| 国产欧美日韩在线一区二区| 伊人久久视频| 久久国产精品色av免费看| 欧美不卡视频| 日本不卡在线视频| 欧美精选一区二区三区| 美女视频网站久久| 国产精品22p| 综合色一区二区| 国产三级一区| 久久中文视频| 日本91福利区| 今天的高清视频免费播放成人| 午夜欧美在线| 视频一区日韩| 波多野结衣久久精品| 国产女人18毛片水真多18精品| 亚洲深夜视频| 欧美日一区二区在线观看| 欧美1区2区3区| 麻豆一区在线| 另类亚洲自拍| 亚洲91视频| 久久久91麻豆精品国产一区| 一本一本久久| 在线天堂资源www在线污| 日韩精品乱码av一区二区| 亚洲精品一区三区三区在线观看| 蜜臀久久久久久久| 国产精品美女在线观看直播| 欧美91视频| 亚洲一区资源| 久久爱www成人| 五月国产精品| 久久高清免费观看| 91精品国产调教在线观看 | 国产欧美88| 青青青国产精品| 日本在线成人| 日韩精品中文字幕吗一区二区|