ลองดูไฟล์การกำหนดค่าสปริงโดยตรง:
<?xml version="1.0" encoding="UTF-8"?>
<ถั่ว xmlns=" http://www.springframework.org/schema/beans "
xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance "
xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ">
<bean id="testTimerTask" class="com.test.timerTask.TestTimerTask"></bean>
<bean id="serviceFor" class="com.test.timerTask.Service4Job"></bean>
<!-- ขั้นตอนแรก: กำหนดคลาสการจัดกำหนดการงาน นั่นคือคลาสที่ต้องดำเนินการทางธุรกิจ มีสองสถานการณ์ ให้เลือกสถานการณ์หนึ่งสำหรับการจัดกำหนดการ -->
<!-- คลาสการกำหนดเวลางานกรณีที่ 1: ใช้คลาสที่สืบทอดมาจากคลาสนามธรรม QuartzJobBean เพื่อดำเนินการกำหนดเวลางาน -->
<bean id="testTimerTaskJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- โปรดทราบว่าชื่อเต็มของคลาสจะถูกแทรกไว้ที่นี่ ไม่ใช่การอ้างอิงถึงคลาส -->
<property name="jobClass" value="com.test.timerTask.TestTimerTask"></property>
<!-- บ่งชี้ถึงการแทรก bean ที่ต้องการลงในคลาส testTimerTask -->
<ชื่อคุณสมบัติ="งานDataAsMap">
<แผนที่>
<คีย์รายการ = "service4Job" value-ref = "serviceFor"></entry>
</แผนที่>
</คุณสมบัติ>
</ถั่ว>
<!-- คลาสการกำหนดเวลางาน กรณีที่ 2: กำหนดเวลาวิธีการทางธุรกิจโดยตรงในคลาสที่มีอยู่โดยไม่ต้องสืบทอดจาก QuartzJobBean -->
<bean id="noJobBeanTaskJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<ชื่อคุณสมบัติ="targetObject" ref="serviceFor"></property>
<ชื่อคุณสมบัติ="targetMethod" value="งาน"></property>
</ถั่ว>
<!-- ขั้นตอนที่ 2: กำหนดทริกเกอร์ โดยระบุว่าจะกำหนดเวลาหรือบ่อยแค่ไหนในการกำหนดเวลางานที่กำหนดไว้ในขั้นตอนแรก -->
<!-- กรณีที่ทริกเกอร์ 1: อิงจากการเรียกงาน SimpleTriggerBean -->
<bean id="quartzSimpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="testTimerTaskJob"></property>
<property name="repeatInterval" value="3000"></property>
<ชื่อคุณสมบัติ="startDelay" value="2000"></property>
</ถั่ว>
<!-- กรณีที่ทริกเกอร์ 2: อิงจากการเรียกงาน SimpleTriggerBean -->
<bean id="quartzCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<ชื่อคุณสมบัติ="งานรายละเอียด" ref="noJobBeanTaskJob"></คุณสมบัติ>
<!-- ใช้รูปแบบสตริงของ cronExpression ที่นี่ 0/3 หมายถึงการดำเนินการทุกๆ 3 วินาที -->
<ชื่อคุณสมบัติ="cronExpression" value="0/3 * * * * ?"></คุณสมบัติ>
</ถั่ว>
<!-- ขั้นตอนที่ 3: เริ่มการกำหนดเวลางาน -->
<!-- เริ่มดำเนินการทริกเกอร์การกำหนดเวลางาน-->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<ชื่อคุณสมบัติ="ทริกเกอร์">
<รายการ>
<ref bean="quartzCronTrigger"/>
</รายการ>
</คุณสมบัติ>
</ถั่ว>
</ถั่ว>
//================================================ ===
สองคลาส: TestTimerTask และ Service4Job
นำเข้า org.quartz.JobExecutionContext;
นำเข้า org.quartz.JobExecutionException;
นำเข้า org.springframework.scheduling.quartz.QuartzJobBean;
TestTimerTask คลาสสาธารณะขยาย QuartzJobBean {
บริการส่วนตัว4งาน บริการ4งาน;
โมฆะสาธารณะ setService4Job (Service4Job service4Job) {
นี้.service4Job = service4Job;
-
@แทนที่
โมฆะที่ได้รับการป้องกันดำเนินการภายใน (JobExecutionContext arg0)
พ่น JobExecutionException {
this.service4Job.งาน();
-
-
Service4Job ระดับสาธารณะ {
งานโมฆะสาธารณะ () {
System.out.println("**** "+System.currentTimeMillis());
-
-
(เดือนนี้) Repost: http://yanda20056.blog.163.com/blog/static/5650193120091113115434635/
บทความนี้มาจากบล็อก CSDN โปรดระบุแหล่งที่มาเมื่อพิมพ์ซ้ำ: http://blog.csdn.net/thismonth/archive/2009/12/30/5103969.aspx