- Quartz是什么 简单的来讲quartz是一个任务日程管理系统,一个在预先确定的时间到达时,负责执行其他软件组件的系统。它可以与J2EE和J2SE应用程序结合使用。
- Quartz和Spring结合使用
-
在pom中添加maven依赖
- <dependency>
<groupid>quartz</groupid>
<artifactid>quartz</artifactid>
<version>1.6.0</version>
</dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.1</version>
<scope>test</scope>
</dependency>
- <dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
- <dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
- <dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
-
spring+quartz配置文件的书写
- <?xml version="1.0" encoding="utf-8"?>
- <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 要调用的工作类 -->
<bean id="quartzJob" class="com.koubei.trigger.Trigger"></bean>
<!-- 定义调用对象和调用对象的方法 -->
<bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="quartzJob"/>
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>send</value>
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jobtask"/>
</property>
<!-- cron表达式 -->
<property name="cronExpression">
<value>1 * * * * * *</value>
</property>
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime"/>
</list>
</property>
</bean>
</beans>
-
quartz主方法的启动 public static void main(String[] args) throws SchedulerException{
HSFContainerDelegator.start("D:\\usr");
Thread.currentThread();
Thread.sleep(1000);
String[] config={"hrimScheduler.application.xml"};
new ClassPathXmlApplicationContext(config).getBean("scheduletiming");
}