springquartzspring 怎么集成quartz

springquartz  时间:2021-06-24  阅读:()

Spring+quartz 做定时任务时,每5分种执行一次,怎么写法

work work 0 0/5 * * * ? * 在applicationContext.xml这样子配置即可。

估计你是全部流程都不懂

Timer和spring的Quartz两种定时器的区别

第一个例子。

timer定时器。

(这个比较简单,timer是Java.util包下一个类) 为了更好的了解,我写了两个定时器类,很被集成TimerTask。

public class MyTask extends TimerTask{ int count = 0; public void run() { System.out.println("定时器TimerTask启动"+count); count++; } } ++++++++++++++++++++++++++++++++++++++++++++ public class MyTaskB extends TimerTask{ int count = 0; public void run() { System.out.println("定时器MyTaskB启动"+count); count++; } } +++++++++++++++++++++++++++++++++++++++++++ 在main方法中测试 Timer timer=new Timer(); /** * 定时器任务制定,执行 * @param tag: 0.在指定的时间里,执行指定的任务; * 1.在指定的时间里,按照指定的延迟,重复执行指定任务; * 2.从指定的延迟后,执行指定任务; * 3.从指定的延迟后,按照指定的延迟,重复执行指定的任务。

* * @param mydate:指定的执行时间。

只有在tag等于0、1才需要指定。

* @param delay: 延迟执行时间,毫秒数。

只有在tag等于1、3才需要指定。

* @param period:间隔执行时间,毫秒数。

只有在tag等于4才需要指定。

*/ //定时器,执行任务测试 public static void main(String[] args) { new TestA().timer.schedule(new MyTask(), 1000); new TestA().timer.schedule(new MyTaskB(), 4000); } 注:timer还可以在web中应用。

直接把MyTask()和MyTaskB()里面的方法作修改即可,也可以在任务完成后关掉timer定时。

总结:其实timer实现定时任务是很简单的,但是在想法开发是很少用到timer,而是用spring的Quartz。

我也在网上找到了一些资料,现在总结一下。

1. Java定时器没有持久化机制。

2. Java定时器的日程管理不够灵活(只能设置开始时间、重复的间隔,设置特定的日期、时间等)//这点感同身受 3. Java定时器没有使用线程池(每个Java定时器使用一个线程)//想必在用timer是遇到了吧。

4. Java定时器没有切实的管理方案,你不得不自己完成存储、组织、恢复任务的措施 一下例子是我在myeclipse中创建了一个小项目,仅供参考。

第一步建立web项目(省略) 第二步导入必要包:如下 用到了一下包: (这九个包我就不多说了,想必大家都知道他的用处。

) 第三步:配置相关文件。

web.xml、quartz.properties、quartz_job.xml这三个文件。

这里我就没用spring的applicationContext.xml文件来管理了。

其实原理都是一样,都是在web启动时监听并启动定时器。

配置spring的quartz定时器有两种方法,一种是你用quartz.properties、quartz_job.xml,另外一种是用spring的applicationContext.xml。

其实在开发的时候我还是比较喜欢前面一种,因为简单、方便,而用spring的applicationContext.xml里面本来就有各种配置,各种注入,是文件不够清晰(个人见解。

呵呵) (项目中文件的位置,直接放在src目录下) 第四步:web.xml文件配置(监听和启动定时器) org.quartz.ee.servlet.QuartzInitializerListener config-file /quartz.properties shutdown-on-unload true index.jsp 第五步:配置quartz.properties文件 org.quartz.scheduler.instanceName = TestScheduler org.quartz.scheduler.instanceId = one org.quartz.threadPool.class =.quartz.simpl.SimpleThreadPool org.quartz.threadPool.threadCount = 2 org.quartz.threadPool.threadPriority = 4 org.quartz.plugin.jobInitializer.class =.quartz.plugins.xml.JobInitializationPlugin org.quartz.plugin.jobInitializer.fileName = quartz_job.xml 注解:主要主用是启动quartz_job.xml。

其余的都是一些配置性能的属性,可以在网上查看。

第六步:配置quartz_job.xml(里面主要配置定时器的一下属性) getDate job com.timer.util.TimerTask t1 job getDate job 0 0/1 * * * ? 第七步:写用两个类来测试定时器是否好用。

public class TimerTask implements Job { private static Logger logger = Logger.getLogger(TimerTask.class); public void execute(JobExecutionContext arg0) throws JobExecutionException { try { TimerOperation.getDate(); } catch (Exception ex) { logger.info(ex.getMessage()); } } } +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ public class TimerOperation { private static Logger logger = Logger.getLogger(TimerOperation.class); public static void getDate() { String strCurrentDateTime = ""; Date currentDateTime = new Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); strCurrentDateTime = formatter.format(currentDateTime); logger.info("定时器启动"+strCurrentDateTime); } } +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 写这两个类就会看出,定时器不能直接调用自己写了定时方法,要先写一个类实现job的接口,然后在实现接口的execute()方法里面调用自己事先写好的定时任务。

好了一个定时器就写好了。

运行项目,等待一分钟控制台就会出现

spring 怎么集成quartz

这个是没有spring的环境,如果有spring直接拿到factory,往里面加就可以了修改的话,也是通过SchedulerFactory 拿到scheduler,然后再修改里面的trigger ,listener,jobdetail之类的SchedulerFactory sf = new StdSchedulerFactory();Scheduler.

RackNerd:便宜vps补货/1核/768M内存/12G SSD/2T流量/1G带宽,可选机房圣何塞/芝加哥/达拉斯/亚特拉大/荷兰/$9.49/年

RackNerd今天补货了3款便宜vps,最便宜的仅$9.49/年, 硬盘是SSD RAID-10 Storage,共享G口带宽,最低配给的流量也有2T,注意,这3款补货的便宜vps是intel平台。官方网站便宜VPS套餐机型均为KVM虚拟,SolusVM Control Panel ,硬盘是SSD RAID-10 Storage,共享G口带宽,大流量。CPU:1核心内存:768 MB硬盘:12 ...

knownhost西雅图/亚特兰大/阿姆斯特丹$5/月,2个IP1G内存/1核/20gSSD/1T流量

美国知名管理型主机公司,2006年运作至今,虚拟主机、VPS、云服务器、独立服务器等业务全部采用“managed”,也就是人工参与度高,很多事情都可以人工帮你处理,不过一直以来价格也贵。也不知道knownhost什么时候开始运作无管理型业务的,估计是为了扩展市场吧,反正是出来较长时间了。闲来无事,那就给大家介绍下“unmanaged VPS”,也就是无管理型VPS,低至5美元/月,基于KVM虚拟,...

无忧云:洛阳/大连BGP云服务器38.4元/月,雅安物理机服务器315元/月起,香港荃湾CN2限时5折优惠

无忧云怎么样?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点,目前商家开启了夏日清凉补贴活动,商家的机器还是非常...

springquartz为你推荐
bean是什么意思javabean和实体类的区别?mergefield合并邮件,最后怎么生成呢?avc是什么格式手机avc格式怎么剪辑flash实例FLASH中实例是个什么概念,真心期待着!!!期待好心人,感恩!希望大家多讨论comexceptionapro exception是什么意思selectintoACCESS中提示“不允许在select into语句中使用多值字段”泛微协同办公系统泛微OA系统怎么创建新人员泛微协同办公系统泛微oa怎么样?我想了解一下,有用过的同仁帮忙!发表下自己的观点(天津)cc防火墙服务器里安全狗里的WEB防火墙是什么意思idataparameterinvalid parameter是什么意思
长春域名注册 太原域名注册 黑龙江域名注册 网站虚拟主机空间 电影服务器 BWH 外国域名 php探针 lamp配置 牛人与腾讯客服对话 双线主机 免费测手机号 阿里云邮箱登陆 存储服务器 国外代理服务器 脚本大全 godaddy中文 globalsign linuxvi 100m空间多少钱 更多