由于公司的新接得项目要实现一批数据的同步,通过外围厂商提供的一系列各个系统的webervices接口定时将数据同步到我们开发的共享平台上,由于厂商系统的数据是不断在变化以及各系统闲忙时的特点,所以定时同步任务的执行必须在时间上能够动态配置。因此,我们需要动态的从数据库中获取配置信息,以改变各个定时间的执行规则,废话不说了,上代码:(我利用的是ssh框架直接写的,框架搭建不再叙述)
1.创建数据表(我用的是mysql)
DROP TABLE IF EXISTS `t_wsdoc`;
CREATE TABLE `t_wsdoc` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`triggername` varchar(50) NOT NULL,
`jobdetailname` varchar(50) NOT NULL,
`cronexpression` varchar(50) NOT NULL,
`targetobject` varchar(50) NOT NULL,
`methodname` varchar(50) NOT NULL,
`concurrent` char(10) NOT NULL DEFAULT '0',
`state` char(10) NOT NULL DEFAULT '1',
`isspringbean` char(10) NOT NULL DEFAULT '0',
`readme` varchar(100) DEFAULT NULL,
`reserved1` varchar(50) DEFAULT NULL,
`reserved2` varchar(50) DEFAULT NULL,
`reserved3` varchar(50) DEFAULT NULL,
`reserved4` varchar(50) DEFAULT NULL,
`reserved5` varchar(50) DEFAULT NULL,
`reserved6` varchar(50) DEFAULT NULL,
`reserved7` varchar(50) DEFAULT NULL,
`reserved8` varchar(50) DEFAULT NULL,
`reserved9` varchar(50) DEFAULT NULL,
`reserved10` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `t_wsdoc` VALUES ('1', 'triggername', 'detailname', '0/5 * * * * ?', 'com.framework.timer.ISCSynAllData', 'run', '\'0\'', '\'1\'', '\'0\'', '说明', null, null, null, null, null, null, null, null, null, null);
2.创建表对应的实体类
package ...自定义;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import com.framework.model.AbstractEntity;
@Entity
@Table(name = "WSDOC", schema = "")
public class Wsdoc extends AbstractEntity{
/**
*
*/
private static final long serialVersionUID = 1L;
private Long id;
// 设置trigger名称
private String triggername;
//设置表达式
private String cronexpression;
// 设置Job名称
private String jobdetailname;
//任务类名
private String targetobject;
//类名对应的方法名
private String methodname;
//设置是否并发启动任务 0是false 非0是true
private String concurrent;
// 如果计划任务不存则为1 存在则为0
private String state;
private String readme;
//是否是已经存在的springBean 1是 0 否
private String isspringbean;
/** 预留字段1 */
private String reserved1;
/** 预留字段2 */
private String reserved2;
/** 预留字段3 */
private String reserved3;
/** 预留字段4 */
private String reserved4;
/** 预留字段5 */
private String reserved5;
/** 预留字段6 */
private String reserved6;
/** 预留字段7 */
private String reserved7;
/** 预留字段8 */
private String reserved8;
/** 预留字段9 */
private String reserved9;
/** 预留字段10 */
private String reserved10;
// Constructors
/** default constructor */
public Wsdoc() {
}
/** full constructor */
public Wsdoc(String triggername, String cronexpression,
String jobdetailname, String targetobject, String methodname,
String concurrent, String state, String readme,String isspringbean) {
this.triggern