标签:
踩过的坑
遇到CronTriggerFactoryBean class notfound
原因是使用3.1以下的版本,我使用的是3.06发现spring-context-support jar文件下面,压根没有这个类,改成org.springframework.scheduling.quartz.CronTriggerBean可以。
遇到JobDetail class notfound
原因是使用2.0以上版本,因为这些版本中,JobDetail 是interface,具体原因的话,可能作者觉得,类的抽象没有接口抽象好
以下提供一下,自己使用的配置
maven pom.xml
<!-- 属性 --> <properties> <spring-version>3.0.6.RELEASE</spring-version> </properties> <dependencies> <!-- Spring 3 dependencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring-version}</version> </dependency> <!-- QuartzJobBean in spring-context-support.jar --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring-version}</version> </dependency> <!-- Spring + Quartz need transaction --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${spring-version}</version> </dependency> <!-- Quartz framework --> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.6</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8</version> <scope>test</scope> </dependency> </dependencies>
applicationContext.xml文件的配置
<bean id="testJob" class="org.alipay.mingdu.quartz.jobs.TestJob"></bean> <bean id="testJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 指定任务类 --> <property name="targetObject" ref="testJob" /> <!-- 指定任务执行的方法 --> <property name="targetMethod" value="execute" /> </bean> <bean id="testJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="testJobDetail" /> <!-- 每10秒运行一次 --> <property name="cronExpression" value="0/10 * * * * ?" /> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="testJobTrigger" /> </list> </property> </bean>
效果:
标签:
原文地址:http://my.oschina.net/lianlupeng/blog/363143