Spring3.0 + Quartz 1.8.4 구성

6303 단어
Spring을 간단하게 사용하십시오. 3.0 + Quartz 1.8.4로 구성되어 있으며 학습만 가능합니다.
타이머를 통해 스케줄링해야 하는 간단한 클래스 코드는 다음과 같습니다.
package com.simonsw.quartz;

import java.util.Date;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * @author Simon Lv
 * @since Nov 11, 2013
 */
public class SpringQtz {
	private Logger logger = LoggerFactory.getLogger(getClass());
	private static int counter = 0;

	protected void execute() {
		long ms = System.currentTimeMillis();
		logger.info("\t\t" + new Date(ms));
		logger.info("(" + counter++ + ")");
	}
}

구체적인 Quartz 설정 xml 파일을 만듭니다. 파일 이름은spring-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:p="http://www.springframework.org/schema/p"
	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.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd">
	<!--   MethodInvokingJobDetailFactoryBean,        Job  ,  targetMethod       -->
	<bean id="springQtzJob" class="com.simonsw.quartz.SpringQtz" />

	<!--     bean bean     -->
	<bean id="simonQtzJobMethod"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="springQtzJob" />
		<!--          -->
		<property name="targetMethod" value="execute" />
		<property name="concurrent" value="false" />
	</bean>

	<!-- ========================       ======================== -->
	<bean id="simonCronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail" ref="simonQtzJobMethod"></property>
		<property name="cronExpression" value="0/5 * * * * ?"></property>
		<property name="startDelay" value="5000"></property>
	</bean>

	<!-- ========================      ======================== -->
	<bean id="SpringJobSchedulerFactoryBean"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="simonCronTriggerBean" />
			</list>
		</property>
	</bean>
</beans>

마지막으로, 이 xml 파일을 웹에 두어야 합니다.xml 중입니다.
마지막으로 Tomcat과 같은 웹 컨테이너를 시작하면 다음과 같은 로그 인쇄 정보를 볼 수 있습니다.
13:57:50.016 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:57:50 CST 2013
13:57:50.016 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - (0)
13:57:55.001 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:57:55 CST 2013
13:57:55.001 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - (1)
13:58:00.001 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:00 CST 2013
13:58:00.001 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - (2)
13:58:05.002 [SpringJobSchedulerFactoryBean_Worker-4] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:05 CST 2013
13:58:05.002 [SpringJobSchedulerFactoryBean_Worker-4] INFO  com.simonsw.quartz.SpringQtz - (3)
13:58:10.001 [SpringJobSchedulerFactoryBean_Worker-5] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:10 CST 2013
13:58:10.002 [SpringJobSchedulerFactoryBean_Worker-5] INFO  com.simonsw.quartz.SpringQtz - (4)
13:58:15.001 [SpringJobSchedulerFactoryBean_Worker-6] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:15 CST 2013
13:58:15.001 [SpringJobSchedulerFactoryBean_Worker-6] INFO  com.simonsw.quartz.SpringQtz - (5)
13:58:20.001 [SpringJobSchedulerFactoryBean_Worker-7] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:20 CST 2013
13:58:20.001 [SpringJobSchedulerFactoryBean_Worker-7] INFO  com.simonsw.quartz.SpringQtz - (6)
13:58:25.001 [SpringJobSchedulerFactoryBean_Worker-8] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:25 CST 2013
13:58:25.001 [SpringJobSchedulerFactoryBean_Worker-8] INFO  com.simonsw.quartz.SpringQtz - (7)
13:58:30.001 [SpringJobSchedulerFactoryBean_Worker-9] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:30 CST 2013
13:58:30.002 [SpringJobSchedulerFactoryBean_Worker-9] INFO  com.simonsw.quartz.SpringQtz - (8)
13:58:35.001 [SpringJobSchedulerFactoryBean_Worker-10] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:35 CST 2013
13:58:35.001 [SpringJobSchedulerFactoryBean_Worker-10] INFO  com.simonsw.quartz.SpringQtz - (9)
13:58:40.001 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:40 CST 2013
13:58:40.001 [SpringJobSchedulerFactoryBean_Worker-1] INFO  com.simonsw.quartz.SpringQtz - (10)
13:58:45.002 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:45 CST 2013
13:58:45.002 [SpringJobSchedulerFactoryBean_Worker-2] INFO  com.simonsw.quartz.SpringQtz - (11)
13:58:50.002 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - 		Mon Nov 11 13:58:50 CST 2013
13:58:50.002 [SpringJobSchedulerFactoryBean_Worker-3] INFO  com.simonsw.quartz.SpringQtz - (12)

구체적으로 내 소스 코드를 보려면 GitHub에서 소스 코드를 다운로드하십시오.
https://github.com/simon5408/DummyProj

좋은 웹페이지 즐겨찾기