spring+quartz例子
程序员文章站
2022-05-10 18:22:04
...
测试类
配置文件
import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class TestMain { /** * @param args */ public static void main(String[] args) { System.out.println("start."); String path = "D:\\JBuilder2007\\workspace\\tt\\quartz.xml"; ApplicationContext context = new FileSystemXmlApplicationContext(path); // BeanFactory factory = new XmlBeanFactory(new FileSystemResource(path)); //如果配置文件中将startQuertz bean的lazy-init设置为false 则不用实例化 // factory.getBean("startQuertz"); System.out.println("end.."); } }
配置文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <!-- 要调用的工作类 --> <bean id="quartzJob" class="test.quartz.QuartzJob"></bean> <!-- 定义调用对象和调用对象的方法 --> <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject"> <ref bean="quartzJob" /> </property> <!-- 调用类中的方法 --> <property name="targetMethod"> <value>work</value> </property> </bean> <!-- 定义触发时间 --> <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="jobtask" /> </property> <!-- cron表达式 --> <property name="cronExpression"> <value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value> </property> </bean> <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTime" /> </list> </property> </bean> </beans>
public class QuartzJob { public void work() { System.out.println("run..."); } }
下一篇: IT行业技术部门人员架构设计