博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cron4j的Jfinal plugin
阅读量:6439 次
发布时间:2019-06-23

本文共 1623 字,大约阅读时间需要 5 分钟。

  hot3.png

项目需要用一些少量的后台调度任务,上周末再完全用jfinal重现项目的时候把quartz替换成了cron4j。虽然以前没用过cron4j但是感觉自己需要的简单功能用这个轻巧的jar包就足够了。刚开始是在一个servlet 监听器里面启动调度程序。后来想完全可以依赖于Jfinal的插件机制做一点点小扩展。献丑直接上代码。

另外cron4j替换quartz会不会出什么问题我也不清楚。求指教。

如果需要的话再弄个QuartzPlugIn

 

package com.jfinal.plugin.cron;import it.sauronsoftware.cron4j.Scheduler;import com.jfinal.plugin.IPlugin;public class Cron4jPlugIn implements IPlugin {	private final Scheduler scheduler = new Scheduler();	@Override	public boolean start() {		scheduler.start();		return true;	}	@Override	public boolean stop() {		scheduler.stop();		return true;	}	public void addTask(String cronExpress, Runnable task) {		scheduler.schedule(cronExpress, task);	}}

/**	 * 配置插件	 */	public void configPlugin(Plugins me) {		C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"));		me.add(c3p0Plugin);		ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);		me.add(arp);		arp.addMapping("mobilebind", MobileBind.class);		arp.addMapping("sendrecord", SendRecord.class);		arp.setShowSql(true);		SqlReporter.setLogger(true);		Cron4jPlugIn cron4jPlugIn = new Cron4jPlugIn();		if (getPropertyToBoolean("SendStudentInfo.enable") == true) {			cron4jPlugIn.addTask(getProperty("SendStudentInfo.cron"), new SendStudentInfoTask());		}		if (getPropertyToBoolean("SmsUpReceive.enable") == true) {			cron4jPlugIn.addTask(getProperty("SmsUpReceive.cron"), new SmsUpReceiveTask());		}		me.add(cron4jPlugIn);	}

a_little_config.txt
SmsUpReceive.cron=* * * * *SmsUpReceive.enable=trueSendStudentInfo.cron=0 * * * *SendStudentInfo.enable=true

转载于:https://my.oschina.net/b1412/blog/67347

你可能感兴趣的文章
linux 内核启动过程以及挂载android 根文件系统的过程 ( 转)
查看>>
shell每日更新(7)
查看>>
单词的个数
查看>>
从程序员到项目经理(27):怎样给领导汇报工作
查看>>
eclipse工程 'cocostudio/CocoStudio.h' file not found
查看>>
045医疗项目-模块四:采购单模块—采购单提交(Dao,Service,Action三层)
查看>>
dockerfile创建php容器(安装memcached、redis、gd、xdebug扩展)
查看>>
转:面对JXTA,我迷茫了
查看>>
IT人必须学会的职场四原则
查看>>
Android之剪贴薄实现
查看>>
Sonix SN9P701 OCR点读笔二维码识别源码
查看>>
oracle 单引号 双引号 连接符
查看>>
如何使用fileupload工具来实现文件上传
查看>>
EZ GUI Button和Checkbox创建
查看>>
指针[收藏]
查看>>
审批流程设计方案-介绍(一)
查看>>
Python多进程编程
查看>>
使Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示。
查看>>
IIS_右键点击浏览网站没有反应
查看>>
POJ训练计划1035_Spell checker(串处理/暴力)
查看>>