文档章节

cron4j的Jfinal plugin

绝望的八皮
 绝望的八皮
发布于 2012/07/16 14:38
字数 267
阅读 5.3K
收藏 5

行业解决方案、产品招募中!想赚钱就来传!>>>

项目需要用一些少量的后台调度任务,上周末再完全用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=true
SendStudentInfo.cron=0 * * * *
SendStudentInfo.enable=true

绝望的八皮

绝望的八皮

粉丝 392
博文 22
码字总数 10505
作品 2
其它
CTO(技术副总裁)
私信 提问
加载中
此博客有 12 条评论,请先登录后再查看。
Nutch学习笔记4-Nutch 1.7 的 索引篇 ElasticSearch

上一篇讲解了爬取和分析的流程,很重要的收获就是: 解析过程中,会根据页面的ContentType获得一系列的注册解析器, 依次调用每个解析器,当其中一个解析成功后就返回,否则继续执行下一个解...

强子哥哥
2014/06/26
712
0
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
6
QtCipherSqlitePlugin

这是一个带有加密功能的 SQLite3 Qt 插件,可以同其它 SQL 插件一样在 Qt 程序中使用。Qt 原始携带的 SQLite 插件不带有加密功能,本插件则提供了加密功能,适合于保存密码等敏感信息。 详细...

devbean-豆子
2013/01/10
1.1K
0
一个十分简洁清新小巧的java BBS--JFinal-BBS

这是一个java新人开发的BBS,本着:希望她能提供给java web新人一点帮助的想法。 JFinal-BBS采用了简洁强大的JFinal作为web框架,模板引擎用的是beetl,数据库用mysql,前端bootstrap框架,大...

匿名
2013/05/10
3W
22
侧边栏菜单插件--jQuery SideBar Plugin

jQuerySideBar Plugin是一款漂亮的侧边栏菜单插件。 它使用MIT和GPL两种授权协议。 需要jQuery、jQuery UI支持。 经测试可以支持的浏览器有: IE 7.x+ , Firefox 3.6+ , Google Chrome2.x+, ...

匿名
2013/06/03
4.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

代理服务器和反向代理服务器之间有什么区别? - What's the difference between proxy server and reverse proxy server?

问题: 代理服务器和反向代理服务器有什么区别? 解决方案: 参考一: https://stackoom.com/question/wRc/代理服务器和反向代理服务器之间有什么区别 参考二: https://oldbug.net/q/wRc/W...

技术盛宴
今天
16
0
第八讲:配置外界可以访问虚拟机里面的HDFS

本节通过配置实现外界访问虚拟机Centos6.4里面的HDFS。为后续的java读写HDFS做准备 步骤有: 1、修改主机Windos7的网络配置 2、修改虚拟机Centos6.4里面的网络配置 3、修改虚拟机Centos6.4里...

刘日辉
今天
26
0
OSChina 周四乱弹 —— 不劳而获的饭好吃么?好吃!非常好吃!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐:《世界上不存在的歌 (2020重唱版)》- 陈奕迅 《世界上不存在的歌 (2020重唱版)》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
今天
31
3
从 GPU、TPU,到 Web 端、移动端,深度学习框架部署训练开始变简单

本文作者:o****0 早些时候的统计显示,今年3月,深度学习框架集中爆发。5月,有人发布可以直接在 iphone11上训练神经网络的开源项目。日前,百度开源国内首个可直接运行在 Web 端的深度学习...

百度开发者中心
昨天
16
0
如何从Git存储库中删除文件? - How can I delete a file from a Git repository?

问题: I have added a file named "file1.txt" to a Git repository. 我已将名为"file1.txt"的文件添加到Git存储库中。 After that, I committed it, added a couple of directories called......

富含淀粉
今天
31
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部