`

quartz任务调用

阅读更多
第一步:
package com.cmsz.rist.config.timer;

import java.util.List;

import org.apache.log4j.Logger;

import com.cmsz.rist.common.util.SystemValue;
import com.cmsz.rist.common.util.Tools;
import com.cmsz.rist.config.biz.RechargeCardServer;
import com.cmsz.rist.config.vo.RechargeCardVO;
import com.cmsz.rist.core.RistCommand;
import com.cmsz.rist.core.service.AlarmEngine;
import com.cmsz.rist.system.biz.ILogsService;

/**
 * 有效期过期提前三十天告警
 * @author wzh
 *
 */
public class ChargeCardUseTimeTimer {
	private static Logger log = Logger.getLogger(ChargeCardTimer.class);
	
	private RechargeCardServer rechargeCardServer;
	private ILogsService logsService;

	public void setRechargeCardServer(RechargeCardServer rechargeCardServer) {
		this.rechargeCardServer = rechargeCardServer;
	}

	public void setLogsService(ILogsService logsService) {
		this.logsService = logsService;
	}
	
	public void  checkChargeCardUseTime(){
		log.info("checkChargeCardUseTime  start!");
		try {
			List<RechargeCardVO> list = rechargeCardServer.queryChargeCardForCheckUseTime();
		    for(int i=0;i<list.size();i++){
		    	RechargeCardVO v = list.get(i) ;
		    	String alarmTime = Tools.getSomeDayBaseToday1(30) ;
		    	
		    	String useTime = v.getRechargeUseDate().replaceAll("-","") ;
		    	alarmTime = alarmTime.replaceAll("-", "") ;
				if(Long.valueOf(useTime) < Long.valueOf(alarmTime)){
					String alarmInfoId = RistCommand.ALARM_CHARGE_CARD; 
					String sysAlarmDesc = "充值卡"+v.getRechargeNum()+"充值卡有效期距当前时间已不足30天,请尽快使用";					
					String alarmLevel = SystemValue.ALARM_LEVEL0;
					AlarmEngine.isAlarmExist(null, alarmInfoId, "", "充值卡", sysAlarmDesc, alarmLevel,null,true);		
				}
		    }
		
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		log.info("checkChargeCardUseTime end!");
	}

}


第二步:
配置
<!--定时每日对充值卡有效期进行检查,快要过期的卡 提前三十天进行告警  -->
	<bean id="chargeCardUseTimeTimer" class="com.cmsz.rist.config.timer.ChargeCardUseTimeTimer">
	    <property name="rechargeCardServer">
	        <ref bean="rechargeCardServer"/>
	    </property>
	    <property name="logsService">
	        <ref bean="logsService"/>
	    </property>
	</bean>
	<bean id="chargeCardUseTimeTimerJobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="chargeCardUseTimeTimer" />
		</property>
		<property name="targetMethod">
			<value>checkChargeCardUseTime</value>
		</property>
		<property name="concurrent" value="false" />
	</bean>	
	<bean id="chargeCardUseTimeTimerCronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="chargeCardUseTimeTimerJobDetail" />
		</property>
		<property name="cronExpression" value="0 0 3 * * ?" />
	</bean>	 
		
	<bean lazy-init="false"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref local="chargeCardUseTimeTimerCronTrigger" />
				
			</list>
		</property>
	</bean>
分享到:
评论

相关推荐

    Quartz任务调用系统,支持持久化存储和远程管理.zip

    业务流程管理模块:设计、执行、监控和优化业务流程,确保各项任务按照预定规则高效运转。 决策支持模块:基于数据分析结果,为管理者提供直观的可视化报告,辅助其进行科学决策。 用户界面与交互模块:提供...

    quartz 调用两次任务

    在“quartz 调用两次任务”这个问题中,我们可能遇到了一个常见问题,即同一个 Quartz 任务被错误地触发执行了两次。 在 Quartz 中,任务(Job)是通过实现 `org.quartz.Job` 接口的类来创建的,而调度则是通过 `...

    C# Quartz.Net定时任务操作明细、完整过程

    【C# Quartz.Net定时任务操作】Quartz.Net是一款强大的任务调度框架,广泛应用于C#环境下的定时任务管理。本文将详细介绍如何使用Quartz.Net进行定时任务的配置与执行。 首先,**通过Nuget安装框架**非常简单,只需...

    Quartz如何实现判断某个任务是否正在运行,在项目中用到的,已经测试过了

    在实际项目中,有时我们需要判断一个Quartz任务是否正在运行,以便进行相应的操作,如避免重复执行或者进行状态监控。本文将详细介绍如何在Quartz中实现这一功能。 首先,理解Quartz的工作原理是关键。Quartz通过...

    Quartz任务调度器

    Quartz任务调度器是一款强大的开源任务调度框架,广泛应用于Java应用程序中,用于自动化定时任务的执行。它提供了灵活的任务调度机制,使得开发者可以方便地定义、安排和执行各种任务。在与Spring框架整合后,Quartz...

    定时任务quartz实现分组串行并行动态配置

    Quartz是一款广泛使用的开源作业调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在实际应用中,我们可能需要根据业务需求动态地配置定时任务的执行方式,例如,某些任务可能需要串行执行,而其他任务则...

    quartz动态任务管理

    Quartz是一款开源的作业调度框架,它允许开发者创建、调度和执行各种类型的任务。这个"quartz动态任务管理"源码包很可能是针对Quartz框架的实现,旨在帮助开发者更方便地管理和控制任务的生命周期。 Quartz的核心...

    spring quartz 时间调用框架

    **Spring Quartz时间调用框架详解** Spring Quartz是一个在Spring框架中集成的时间调度插件,它允许开发者方便地创建和管理定时任务。Quartz是Java领域的一款功能强大的作业调度库,而Spring通过其优秀的IoC...

    C# 控制台Quartz定时任务.doc

    【Quartz定时任务】是Java领域的一个强大任务调度框架,但在C#中也有相应的实现,如标题所示,这里讨论的是C#控制台应用中使用Quartz.NET进行定时任务的实现。Quartz.NET允许开发者在应用程序中安排任务在特定时间...

    .net Quartz定时任务实例

    在这个实例中,我们将探讨两种在.NET中使用Quartz实现定时任务的方法:通过配置文件和代码动态调用。 首先,我们来了解一下Quartz的核心概念: 1. **Job(作业)**:这是执行特定任务的实际工作单元。你可以定义一...

    spring整合quartz定时任务调度

    6. **启动Scheduler**:在Spring应用启动时,通过调用Scheduler的`start()`方法来启动定时任务调度。 7. **动态管理任务**:通过Spring的`Scheduler`实例,你可以方便地进行任务的添加、删除、暂停和恢复等操作,...

    Quartz.net作业调度自定义定时执行任务多任务执行c#

    这个方法就是你的任务逻辑,当触发器触发时,Quartz.NET会调用这个方法执行任务。 ```csharp public class CancelOrderJob : IJob { public void Execute(IJobExecutionContext context) { // 超时取消订单的...

    Quartz调度、终止执行的任务

    如果你想要终止某个任务,你可以调用`scheduler.deleteJob()`来移除Job实例,使其不再执行。例如: ```java scheduler.pauseJob(JobKey.jobKey("myJob", "group1")); // 暂停Job scheduler.deleteJob(JobKey.jobKey...

    quartz定时任务使用例子大全

    quartz定时任务使用例子大全,这里面介绍了三种使用quartz定时任务的方式,第一种方式是完全使用代码写死的调用方式,第二种使用的是从数据库读取任务配置信息的调用方式,第三种是使用从数据库读取任务配置,生成...

    quartz任务调度使用手册

    Quartz任务调度是一款开源的Java定时任务框架,广泛应用于企业级应用系统中,用于执行周期性的后台任务。这款工具提供了一种灵活的方式来安排和管理任务,使得开发者无需在业务代码中处理时间相关的逻辑,而是通过...

    Quartz.Net任务调度

    - **启动调度器**:调用`Scheduler.Start()`方法启动调度器,开始执行任务。 3. **CronTrigger和SimpleTrigger** - **CronTrigger**:基于CRON表达式定义触发规则,如每天的特定时间执行,每周的某一天执行等。...

    Quartz spring调用多任务demo,随意指定时间

    Quartz 是一个开源的任务调度框架,它允许开发者在 Java 应用程序中定义和执行定时任务。Spring 框架则提供了与 Quartz 的集成,使得在 Spring 应用程序中管理定时任务变得更加方便。本教程将详细介绍如何在 Spring ...

    spring任务调度(Quartz )

    - **调度类** (`schedule.TestJob`):这个类继承自`QuartzJobBean`,它是Quartz任务的实现。在`executeInternal()`方法中,我们将调用`UserService`的服务方法,执行实际的业务操作。通过`@Autowired`或在XML配置中...

    Quartz定时任务

    Quartz.Net是一个定时任务框架,可以实现异常灵活的定时任务,开发人员只要编写少量的代码就可以实现“每隔1...将要定时执行的任务的代码写到实现IJob接口的Execute方法中即可,时间到来的时候Execute方法会被调用。

Global site tag (gtag.js) - Google Analytics