Spring quartz定时器示例源码

仔细看配置应该能看懂,就不多写注释了

applicationContext-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:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"
default-lazy-init="true">

<description>Quartz Local Cron Job Configuration</description>

<!-- Quartz Schduler -->
<bean id="localQuartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<property name="triggers">
<list>
//出发事件引用列表,下面配置后要把出发类加进来
<ref bean="quoteCronTrigger"/>
</list>
</property>
<property name="quartzProperties">
<props>
<prop key="org.quartz.threadPool.threadCount">5</prop>
</props>
</property>
<property name="startupDelay" value="3" />
</bean>

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="cronJobDetail" />
<property name="cronExpression" value="0 * 12 * * ?" />
</bean>
<bean id="quoteCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="quoteCronJobDetail" />
<property name="cronExpression" value="0 * 14 * * ?" />
</bean>

<bean id="cronJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="cronJob" />
<property name="targetMethod" value="execute" />
<property name="concurrent" value="true" />
</bean>
<bean id="quoteCronJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="quoteCronJob" />
<property name="targetMethod" value="execute" />
<property name="concurrent" value="true" />
</bean>

<bean id="cronJob" class="com.genscript.gsscm.common.jobs.MailSendingJob" />
<bean id="quoteCronJob" class="com.genscript.gsscm.common.jobs.DateTimerJob" />
</beans>


package com.genscript.gsscm.common.jobs;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import org.dozer.DozerBeanMapper;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;

import com.genscript.gsscm.common.events.SendMailAtOnceEvent;
import com.genscript.gsscm.common.util.Struts2Util;
import com.genscript.gsscm.contact.service.ContactService;
import com.genscript.gsscm.customer.service.CustomerService;
import com.genscript.gsscm.order.service.OrderService;
import com.genscript.gsscm.quote.dao.QuoteMainBeanDao;
import com.genscript.gsscm.quote.dto.QuoteMainDTO;
import com.genscript.gsscm.quote.entity.QuoteMain;
import com.genscript.gsscm.quote.entity.QuoteMainBean;
import com.genscript.gsscm.quote.service.QuoteService;
import com.opensymphony.xwork2.ActionSupport;

public class DateTimerJob {

@Autowired
private QuoteService quoteService;
@Autowired(required = false)
private DozerBeanMapper dozer;
private Date tmpDate=null;
private SimpleDateFormat sdf=null;
private String quoteDate=null;
private String tmpStrDate=null;
// 这是本人测试用的小例子
public void execute(){
System.out.println("------------>>>>>>>>>>>>>>test");
//from后面是对象,不是表名
List<QuoteMain> list=quoteService.getAllQuoteList();
tmpDate=new Date();
sdf=new SimpleDateFormat("yyyy-MM-dd");
for(int i=0;i<list.size();i++){
QuoteMain quoteMain=list.get(i);
QuoteMainDTO dto = this.dozer.map(quoteMain, QuoteMainDTO.class);
System.out.println("----------->>>>i=" +i);
if(i==810){
quoteMain.setStatus("OD");
quoteService.saveQuote(quoteMain);
}
// Date quoteMainDate=quoteMain.getQuoteDate();
// quoteDate=sdf.format(quoteMainDate);
// tmpStrDate=sdf.format(tmpDate);

// if(quoteDate.equals(tmpStrDate)){
// String status=quoteMain.getStatus();
// if(status.equals("CL")||status.equals("CW")){
// quoteMain.setStatus("OD");
// dto.setStatusText("over dul");
// }
// }
}
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值