- 浏览: 114279 次
- 性别:
- 来自: 合肥
文章分类
最新评论
-
小布丁丶:
一个简单的问题非要整这么复杂
extjs grid 根据条件禁用选中 -
kylewebgame:
不错啊,做一个线程定时保存,不知道记录后如何做查询呢?或者怎样 ...
一个日志管理设计类
public interface ITaskRunner { /** * * @方法描述:任务运行接口 * @date Jul 1, 2009 * */ public void run(); }
/** * */ package cn.com.starit.pon.service.scheduler.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.quartz.CronTrigger; import org.quartz.Job; import org.quartz.JobDetail; import org.quartz.Scheduler; import cn.com.starit.pon.service.scheduler.CommonSchedulerContainer; import cn.com.starit.pon.service.scheduler.ITaskRunner; /** * @类型: AbstractTaskRunner * @说明: 抽象任务运行器,为实现具体的任务运行提供统一抽象父类 */ public class BaseTaskRunner implements ITaskRunner { protected String taskName = null;任务名称 protected Job clzName = null;一个job protected String timeRule = null;按什么事件触发 public BaseTaskRunner(){} public BaseTaskRunner(String taskName, Job jobClzName, String timeRule) { super(); this.taskName = taskName; this.clzName = jobClzName; this.timeRule = timeRule; } private static Log log = LogFactory.getLog(BaseTaskRunner.class); public void run() { log.info("调度器< "+taskName+" > 初始化定义...开始"); if(this.schedule()) log.info("调度器< "+taskName+" > 初始化定义...成功"); else log.info("调度器< "+taskName+" > 初始化定义...失败"); } private boolean schedule() { if((taskName==null)||(clzName==null)||(timeRule == null)) return false; try { Scheduler scheduler = CommonSchedulerContainer.getScheduler(); JobDetail jobDetail = new JobDetail(clzName.toString(),clzName.toString(), clzName.getClass()); CronTrigger trigger = new CronTrigger(getTriggerName(taskName), null, timeRule); scheduler.scheduleJob(jobDetail, trigger); } catch (Exception e) { e.printStackTrace(); return false; } return true; } public String getTaskName() { return taskName; } public void setTaskName(String taskName) { this.taskName = taskName; } public Job getClzName() { return clzName; } public void setClzName(Job clzName) { this.clzName = clzName; } public String getTimeRule() { return timeRule; } public void setTimeRule(String timeRule) { this.timeRule = timeRule; } protected static String getJobGroupName(String name){ return name+"_JobGroup"; } protected static String getTriggerName(String name){ return name+"_Trigger"; } }
/** * */ package cn.com.starit.pon.service.scheduler; import org.apache.log4j.Logger; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.impl.StdSchedulerFactory; /** * 通用调度库 * @类型: CommonScheduler */ public class CommonSchedulerContainer { private static Logger log = Logger.getLogger(CommonSchedulerContainer.class); private static Scheduler scheduler=null; public static Scheduler getScheduler() { try { if(scheduler == null) scheduler = StdSchedulerFactory.getDefaultScheduler(); } catch (SchedulerException e) { log.error(e); e.printStackTrace(); throw new RuntimeException("初始调度器失败"); } return scheduler; } }
配置文件中: <bean id="dDMDayJob" class="cn.com.starit.nms.query.summary.job.DDMDayJob"> </bean> <bean id="dDMMonJob" class="cn.com.starit.nms.query.summary.job.DDMMonJob"> </bean> <bean id="adslDayJob" class="cn.com.starit.nms.query.summary.job.AdslDayJob"> </bean> <bean id="adslMonJob" class="cn.com.starit.nms.query.summary.job.AdslMonJob"> </bean> <bean id='dDMDayJobRunner' class="cn.com.starit.pon.service.scheduler.impl.BaseTaskRunner"> <property name="taskName" value="DDM性能数据统计任务(日)"></property> <property name="timeRule" value="0 0 3 * * ?"></property> <property name="clzName" ref='dDMDayJob'></property> </bean> <bean id='dDMMonJobRunner' class="cn.com.starit.pon.service.scheduler.impl.BaseTaskRunner"> <property name="taskName" value="DDM性能数据统计任务(月)"></property> <property name="timeRule" value="0 0 1 1 * ?"></property> <property name="clzName" ref='dDMMonJob'></property> </bean> <bean id='adslDayJobRunner' class="cn.com.starit.pon.service.scheduler.impl.BaseTaskRunner"> <property name="taskName" value="ADSL性能数据统计任务(日)"></property> <property name="timeRule" value="0 12 11 * * ?"></property> <property name="clzName" ref='adslDayJob'></property> </bean> <bean id='adslMonJobRunner' class="cn.com.starit.pon.service.scheduler.impl.BaseTaskRunner"> <property name="taskName" value="ADSL性能数据统计任务(月)"></property> <property name="timeRule" value="0 0 1 1 * ?"></property> <property name="clzName" ref='adslMonJob'></property> </bean>
发表评论
-
使用BeanUtils时,遇到日期类型的空值时会抛错的解决办法
2013-03-14 16:46 868public class BeanUtilEx exten ... -
Oracle 计算两个时间的差值
2012-11-08 20:26 2557Oracle 计算两个时间的差值 有两个日期数据STA ... -
一个日志管理设计类
2012-07-23 20:10 1301public class LogDataQueue { ... -
JDBC操作数据库的步骤
2012-07-08 21:49 1098#传统JDBC访问数据库步骤 》通过Cla ... -
java 分页类
2012-07-08 21:37 871package com.iflytek.hr.model ... -
java 斗地主发牌
2012-07-08 21:23 1082/** * * @Title: Controlle ... -
面向对象设计1
2012-02-19 16:02 843我要去新疆 面向过程:注重过程,进过什么地方到达新疆,例如过 ... -
Java的内存知识梳理
2012-02-18 10:42 938栈、堆、常量池等虽同属Java内存分配时操作的区域,但其适用范 ... -
试用的管理进程的Java类
2012-02-16 15:01 1189进程的基本信息类 public class ProcessD ... -
初始化容器编写的类
2012-02-15 19:03 903public interface Initializer { ... -
IO流的讲解
2012-02-14 15:54 880关于IO流讲解的一篇不错文章 http://blog.csdn ... -
Java中getResourceAsStream的用法
2012-02-07 14:58 1079三种写法: 1.“ / ”代表了工程的根目录,例如工 ... -
练习对XML文件的操作
2011-12-24 16:50 895初步练习下java对XML文件的操作,加深下记忆而已,代码如下 ...
相关推荐
在Spring Boot框架中,`springboot-scheduler`是用于实现定时任务的重要组件,它基于Spring的Task Execution和Scheduling模块,使得在应用中添加和管理定时任务变得简单易行。这个"springboot-scheduler定时任务学习...
1. **使用接口封装定时任务**:创建一个ITimerTask接口,定义Start、Stop和Execute方法,这样可以方便地替换不同的定时任务实现。 2. **使用工厂模式创建任务**:通过工厂方法创建和管理定时任务实例,以便统一管理...
总的来说,Quartz2与Spring4的集成提供了一种灵活且可扩展的方式来管理和执行定时任务,结合了Quartz的调度能力和Spring的容器管理优势,使得在Java应用中实现定时任务变得更加简单和高效。同时,通过源码阅读和工具...
1. **Job类定义**:定义一个实现了`Job`接口的类,包含`execute`方法,这是任务执行的核心代码。 2. **任务配置**:可能包含静态的XML或Java配置,用于设置任务的基本属性,如任务名、执行间隔、是否立即启动等。 3....
在本项目中,我们主要探讨了四个核心主题:Spring Boot与MyBatis的整合、MyBatis中的枚举转换器、前后端分离项目的统一JSON返回格式以及Spring Boot集成Quartz框架来实现定时任务。让我们逐一深入这些关键知识点。 ...
其中,Spring的定时任务功能使得开发者能够方便地在应用中实现周期性执行的任务,而无需依赖外部任务调度器如Quartz或Cron。本篇将详细探讨Spring定时任务及其所需的jar包`slf4j-api-1.5.6.jar`和`slf4j-log4j12-...
总的来说,Spring MVC的定时任务实现需要整合多个组件,其中`slf4j`和`log4j`负责日志记录,而Spring Task提供任务调度能力。理解并正确配置这些组件,能够帮助开发者构建出高效且可维护的定时任务系统。在实际项目...
Spring-task是Spring框架的一部分,它为开发者提供了强大的任务调度和执行功能,使得在Java应用中实现定时任务变得简单易行。本文将深入探讨Spring-task的注解方式和XML配置方式的使用,以及如何在实际项目中进行...
包含基本的项目、统一响应、MySQL和Redis数据库操作、定时任务、图片生成、项目配置、用户权限认证、报表输出、无限生成目录树、阿里云手机验证码验证、微信授权、Celery、单元测试、Drone等模块。更新内容全部内容...
1. **Job**:这是你需要定时执行的任务,需要实现`org.quartz.Job`接口,并重写`execute(JobExecutionContext context)`方法,该方法在任务被触发时调用。 2. **Trigger**:触发器定义了Job何时执行,你可以根据...
这个压缩包包含的文件是Quartz库和其他相关日志处理库,使得在Java项目中实现定时任务变得更加便捷。 1. **Quartz核心库**:`quartz-1.8.4.jar`是Quartz的主要库文件,它包含了Quartz的所有核心组件。Quartz允许...
通过这种分模块的设计方法,环卫云平台的定时任务管理系统能够有效解决任务重复执行的问题,实现任务配置、触发和执行的统一管理。系统还可以动态调整任务的运行状态,进一步提升任务执行的可靠性和稳定性。这种系统...
niubi-job是一个专门为定时任务设计的高可用分布式任务调度框架,它旨在解决在大型分布式系统中管理和执行定时任务的问题。这个框架提供了丰富的功能和优秀的扩展性,使得在复杂的企业级应用环境中,能够轻松地实现...
基于GO语言与chromedp库实现网站自动登录,以长期定时任务,实现三维家网站自动登录获取cookie,并更新到mysql数据库为例。Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门...
Java工具:Elastic-job是一个强大的分布式任务调度框架,它提供了简单易用的API,使得开发者可以轻松地在Java环境中实现定时任务。Elastic-job由两个核心模块组成:Elastic-job-Lite和Elastic-job-Cloud,前者适用于...
【标题】:基于SpringBoot+Vue的轻量级定时任务管理系统 这个项目是一个结合了Spring Boot后端框架和Vue.js前端框架的轻量级定时任务管理系统。它旨在提供一个高效、易用的平台,用于管理和执行各种定时任务,帮助...
本篇将基于《统一授权系统接口设计说明书》这一文档,深入剖析其中涉及的关键知识点,主要包括单点登录(Single Sign-On,简称SSO)、用户与组织机构管理以及统一消息传递等核心功能模块的设计理念和技术实现细节。...
太合定时任务管理系统是一款高效、可靠的自动化运维工具,专门用于管理和调度分布在1000多台服务器上的500多个任务组。这个系统的核心目标是提高运维效率,确保业务的稳定运行,通过自动化的方式减少人工干预,降低...
它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go...