spring基于xml定时器

web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
classpath:beans_all.xml,
classpath:beans_datasource.xml,
classpath:beans_dao.xml,
classpath:beans_service.xml,
classpath:beans_actions.xml,
classpath:beans_app_actions.xml
<!-- classpath:job.xml -->
</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

job.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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    <bean id="schedulerFactoryBean"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- <ref bean="triggerInTime" />
<ref bean="cronReportTriggerDay"/>
<ref bean="cronReportTriggerMonth"/>
<ref bean="cronReportTriggerDebt"/>
<ref bean="JobBatchDoBonusTime"/>
<ref bean="cronReprotTriggerReward"/>
<ref bean="cronReprotTriggerBonus"/>
<ref bean="cronReprotTriggerOuterTask"/>
<ref bean="cronReportTriggerExamination"/> -->
<!-- <ref bean="importTraceCode"/> -->
  <!--  <ref bean="jobCompanyDataTime"/> -->

</list>
</property>
<property name="configLocation" value="classpath:quartz.properties" />
</bean>
<!-- 时时任务 -->
<bean id="triggerInTime" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="jobInTime" />
<property name="startDelay" value="300000" />
<property name="repeatInterval" value="300000" />
</bean>
<bean id="jobInTime" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobInTimeTask"></property>
</bean>

<bean id="cronReprotTriggerReward" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobRewardTask"></property>
<property name="cronExpression">
<value>0 0 23 * * ?</value>
</property>
</bean>
 
<bean id="cronReprotTriggerBonus" class="org.springframework.scheduling.quartz.CronTriggerBean" >
<property name="jobDetail" ref="jobBonusTask"></property>
<property name="cronExpression">
<value>50 * * * * ?</value>
</property>
</bean>
 
<bean id="cronReprotTriggerOuterTask" class="org.springframework.scheduling.quartz.CronTriggerBean" >
<property name="jobDetail" ref="jobOuterTask"></property>
<property name="cronExpression">
<value>0 0/5 * * * ?</value>
</property>
</bean>


<bean id="jobRewardTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobRewardTask"></property>
</bean>

<bean id="jobBonusTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobBonusTask"></property>
</bean>

<bean id="jobOuterTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobOuterTask"></property>
</bean>

    <!-- 每日凌晨0点0分0秒启动定时器 -->
<bean id="cronReportTriggerDay" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDayTask" />
<property name="cronExpression">
<value>0 0 0 * * ?</value>
</property>
    </bean>
    <bean id="jobDayTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobDayTask"></property>
</bean>

<!-- 每月1号凌晨0点0分0秒启动定时器 -->
<bean id="cronReportTriggerMonth" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobMonthTask" />
<property name="cronExpression">
<value>0 0 0 1 * ?</value>
</property>
    </bean>
    <bean id="jobMonthTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobMonthTask"></property>
</bean>

<!-- 每日凌晨0点0分0秒启动定时器 -->
<bean id="cronReportTriggerDebt" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDebtTask" />
<property name="cronExpression">
<value>0 0 0 * * ?</value>
</property>
    </bean>
    <bean id="jobDebtTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobDebtTask"></property>
</bean>

<!-- 每日凌晨0点0分0秒启动定时器 -->
<bean id="jobCompanyDataTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobCompanyData" />
<property name="cronExpression">
<!-- <value>0 0 0 * * ?</value> -->
<value>0 0/2 * * * ?</value>
</property>
    </bean>
    <bean id="jobCompanyData" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobCompanyData"></property>
</bean>

<!-- P处理过期红包  -每日凌晨0点0分0秒启动定时器-->
<bean id="JobBatchDoBonusTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobBatchDoBonus" />
<property name="cronExpression">
<value>0 0 0 * * ?</value>
</property>
    </bean>
    <bean id="jobBatchDoBonus" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobBatchDoBonus"></property>
</bean>

<!-- 每日23点0分0秒启动定时器 -->
<bean id="cronReportTriggerExamination" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobExaminationTask" />
<property name="cronExpression">
<value>0 0 23 * * ?</value>
</property>
    </bean>
    <bean id="jobExaminationTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobExaminationTask"></property>
</bean>


<!-- xyd_追溯码code绑定 -->
<bean id="importTraceCode" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobImportTraceCodeTask" />
<property name="cronExpression">
<value>0 0/30 * * * ?</value>
</property>
    </bean>
    
    <bean id="jobImportTraceCodeTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.sp2p.task.JobImportTraceCodeTask"></property>
</bean>
</beans>

package com.sp2p.task;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import org.springframework.web.context.ContextLoader;


public class JobBatchDoBonus extends QuartzJobBean {

private static Log log = LogFactory.getLog(JobDebtTask.class);
 
private Object getBean(String beanName) {
return ContextLoader.getCurrentWebApplicationContext().getBean(beanName);
}
 
@Override
protected void executeInternal(JobExecutionContext arg0)throws JobExecutionException {
JobTaskService jobTaskService =  (JobTaskService) getBean("jobTaskService");
   try {
   
log.info("p处理过期红包开始......................");
long m = jobTaskService.updateUserBonus();
if(m>0){
log.info("p处理过期红包成功......................");
}
if(m==0){
log.info("不存在要P处理的过期红包......................");
}

if(m<0){
log.info("p处理过期红包出现失败......................");
}

  } catch (Exception e) {
   e.printStackTrace();
  } 
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值