spring3.2.13+quartz.2.3 集成整合

xiaoxiao2021-02-28  77

1 jar包

quartz 2.2.3 官网下载

http://www.quartz-scheduler.org/downloads/

最重要的三个依赖

<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz-jobs</artifactId> <version>2.2.3</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> 2,配置 applicationContext-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"> <bean id="testJob" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="Durability" value="true"/> <property name="jobClass"> <value>com.pozu.kaigua.quartz.TestJob</value> </property> <!--<property name="jobDataAsMap">--> <!--<map>--> <!--<entry key="targetObject" value="ecOwnUnstopWorksheetManager"/>--> <!--<entry key="targetMethod" value="execSyncPaymeny"/>--> <!--</map>--> <!--</property>--> </bean> <bean id="testJob2" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"> <property name="Durability" value="true"/> <property name="jobClass"> <value>com.pozu.kaigua.quartz.Test2Job</value> </property> <property name="jobDataAsMap"> <map> <entry key="targetObject" value="ecOwnUnstopWorksheetManager"/> <entry key="targetMethod" value="execSyncPaymeny"/> </map> </property> </bean> <bean id="testTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="testJob2" /> <!-- run every morning at 6 AM --> <property name="cronExpression" value="0 */1 * * * ?" /> </bean> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail" ref="testJob" /> <!-- run every morning at 6 AM --> <property name="cronExpression" value="0 */1 * * * ?" /> </bean> <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!--<property name="dataSource" ref="dataSource"></property>--> <property name="configLocation" value="classpath:config/quartz.properties" /> <!--可选,QuartzScheduler 启动时更新己存在的Job,这样就不用每次修改targetObject后删除qrtz_job_details表对应记录了 --> <property name="overwriteExistingJobs" value="true" /> <!--必须的,QuartzScheduler 延时启动,应用启动完后 QuartzScheduler 再启动 --> <property name="startupDelay" value="30" /> <!-- 设置自动启动 --> <property name="autoStartup" value="true" /> <property name="applicationContextSchedulerContextKey" value="applicationContextKey" /> <!--<property name="configLocation" value="classpath:spring-quartz.properties" />--> <property name="triggers"> <list> <ref bean="cronTrigger"/> <ref bean="testTrigger"/> </list> </property> </bean> </beans>在applicationContext.xml添加关联 <import resource="classpath:config/applicationContext-quartz.xml" /> 集群配置quartz.properties#============================================================== #Configure Main Scheduler Properties #============================================================== org.quartz.scheduler.instanceName = quartzScheduler org.quartz.scheduler.instanceId = AUTO #============================================================== #Configure JobStore #============================================================== org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate org.quartz.jobStore.tablePrefix = QRTZ_ org.quartz.jobStore.isClustered = true org.quartz.jobStore.clusterCheckinInterval = 20000 org.quartz.jobStore.dataSource = myDS #============================================================== #Configure DataSource #============================================================== org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver org.quartz.dataSource.myDS.URL = jdbc:mysql://127.0.0.1:3306/kaigua?useUnicode=true&characterEncoding=utf8 org.quartz.dataSource.myDS.user = root org.quartz.dataSource.myDS.password = root org.quartz.dataSource.myDS.maxConnections = 30 #============================================================== #Configure ThreadPool #============================================================== org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount = 10 org.quartz.threadPool.threadPriority = 5 org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true 3.Job代码/** * Created by Administrator on 2017/7/11 0011. */public class Test2Job implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { System.out.println("=============TestJob2()Run======"); }} 参考地址:Spring整合Quartz(JobDetailBean方式)
转载请注明原文地址: https://www.6miu.com/read-75189.html

最新回复(0)