Java应用系统中实现定时任务的系统技术方案

技术编号:3872160 阅读:317 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种Java应用系统中实现定时任务的系统,包括:参数输入接口,用于通过图形用户界面接收指定作业的操作参数;参数存储单元,用于存储数据;定时任务创建单元,用于根据所述参数输入接口接收的操作参数为指定的作业创建触发器,并将所述触发器的运行参数存储到到参数存储单元;作业执行单元,用于读取所述参数存储单元中的触发器的运行参数并根据所述运行参数使对应触发器触发对应作业运行。本发明专利技术通过可视化界面接收作业操作参数并根据该操作参数生成作业的触发器,简化了Java应用系统中定时任务的创建。

【技术实现步骤摘要】

本专利技术涉及计算机软件领域,特别涉及一种Java应用系统中实现定时任 务的系统。
技术介绍
在使用Java的应用系统中,通常实现定时任务通过两种方式 一种是使 用Java开发工具集(Java Development Kit, JDK)自带的定时器(Timer)工 具实现,另一种是使用开放源代码组织(opensymphony)的Quartz定时任务 框架实现。JDK自带的Timer能实现最简单的定时任务,以有规律的时间间隔来检查 任务(Task)类状态,这样就能按指定的重复执行时间和重复执行次数来触发 指定的Task类。Quartz能实现比较完善的定时任务,其使用多个子线程来执行指定的Jab 类,只要开发人员的作业实现了 Jab类,就能在配置文件中用cron表达式来指 定任务的触发时间。然而,上述两种实现定时任务的方式在使用时需要硬编码指定作业的触发 时间。每次任务更新都需要重新部署程序,且对任务执行监控时需要开发人员 在作业内部打印日志做监控,作业执行失败之后也不能及时通知相关工作人员 对问题进行处理,使用难度较大。另外,Ci:on表达式的编写较为困难,不能 得到有效的测试,容易出错。
技术实现思路
本专利技术要解决的技术问题在于,针对上述Java应用系统中定时任务编写 复杂、不易维护的问题,提供一种Java应用系统中实现定时任务的系统。4本专利技术解决上述技术问题的技术方案是,提供一种Java应用系统中实现 定时任务的系统,其特征在于,包括参数输入接口,用于通过图形用户界面接收指定作业的操作参数; 参数存储单元,用于存储数据;定时任务创建单元,用于根据所述参数输入接口接收的操作参数为指定的 作业创建触发器,并将所述触发器的运行参数存储到到参数存储单元;作业执行单元,用于读取所述参数存储单元中的触发器的运行参数并根据 所述运行参数使对应触发器触发对应作业运行。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述操作参数 包括触发器的名称、类型及时间参数;所述触发器的运行参数包括作业标识、 触发器名称、类型及时间参数。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述时间参数 包括作业开始时间、结束时间和/或运行间隔。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述参数输入 接口包括cron表达式输入接口,用于接收cron表达式的输入;所述定时任务创建单元从所述cron表达式输入接口中的cron表达式获得 触发器参数中的时间参数。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述参数输入 接口包括时间输入接口,用于接收时间值的输入;表达式测试单元,用于判断所述时间输入接口中的时间值是否包含于所述 cron表达式输入接口中的cron表达式中;测试结果展示单元,用于在所述表达式测试单元确认所述时间输入接口中 的时间值包含于所述cron表达式输入接口中的的cron表达式中时显示第一信 息,否则显示第二信息。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述第一信息 包括指定作业在所述时间输入接口中的时间值处执行的信息。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述第一信息 还包括指定作业在所述时间输入接口中的时间值之后的下一次执行的时间。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述参数输入 接口位于终端,所述参数存储单元、定时任务创建单元及作业执行单元位于服 务器,所述终端通过网络连接到服务器。在本专利技术所述的Java应用系统中实现定时任务的系统中,所述参数输入 接口包括接收时间值的操作时间输入接口,所述定时任务创建单元根据所述 操作时间输入接口接收的时间值创建cron表达式并通过调用Quartz定时任务框架生成触发器。在本专利技术所述的Java应用系统中实现定时任务的系统中,还包括日志创 建单元,用于在每一作业被触发之前和之后对该作业进行拦截,并存储作业的 执行情况和执行时间数据。本专利技术的Java应用系统中实现定时任务的系统,通过可视化界面接收作 业操作参数并根据该操作参数生成作业的触发器,简化了 Java应用系统中定 时任务的创建。从而使得程序的编制效率大大提高。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中图1是本专利技术Java应用系统中实现定时任务的系统实施例的示意图2是本专利技术图1中参数输入接口实施例的示意图。具体实施例方式本专利技术提供了一站式的定时作业部署系统,通过将必须的功能写到系统层 来达到简单便捷的作业部署。具体地,本专利技术通过可视化的界面接收作业操作 参数并根据操作参数创建对应作业的触发器,从而简化了 Java应用系统中作 业定时任务的创建。该系统可以是Java应用系统开发工具中的一个操作项, 为Java应用系统中的每一个作业创建定时任务(一个作业可同时包括多个定 时任务)。如图1所示,是本专利技术Java应用系统中实现定时任务的系统的实施例的 示意图。该系统包括参数输入接口 11、定时任务创建单元12、参数存储单元 13以及作业执行单元14。其中上述各模块可应用一台服务器中;也可以用于 客户端-服务器系统中,即参数输入接口 ll位于终端(客户端),参数存储单 元13、定时任务创建单元12及作业执行单元14位于服务器,终端通过网络 (例如HTTP网络)连接到服务器。参数输入接口 ll提供一个图形用户界面(GUI),使用者可通过该图形用 户界面直接输入指定作业的操作参数。上述操作参数可包括触发器的名称 (ID)、分类及时间参数(例如开始时间、结束时间和/或运行间隔等)及优先 级、描述、作业运行参数。具体地,该参数输入接口 11可以是一个弹出式窗 口,该弹出式窗口中可包括名称、类型及时间参数对话框,使用者可直接将相 应的操作参数输入到对话框中。其中时间参数输入框可以接收cron表达式输 入或时间值输入。参数存储单元13用于存储数据,其可以是一个数据库。定时任务创建单元12用于根据参数输入接口11接收的操作参数为指定的 作业创建触发器,并将该创建的触发器的运行参数存储到到参数存储单元13。 其中触发器的运行参数包括作业标识、触发器名称、类型及时间参数等。具体 地,定时任务创建单元12可通过调用Quartz定时任务框架并使用cron表达 式(该cron表达式可来自于参数输入接口 11直接输入或者根据输入的时间参 数生成)创建触发器,该触发器的中的参数即为参数输入接口 ll接收的操作 参数。作业执行单元14用于读取参数存储单元13中的运行参数并根据运行参数 使对应触发器触发对应作业运行。例如当参数存储单元13中存储的一条数据 记录为作业A、触发器B、类型A (假设为在指定的时间点执行)、时间l, 则当到达时间1时,作业执行单元14使触发器1触发作业1执行。如图2所示,是图1中参数输入接口 11的结构示意图。该参数输入接口 11包括cron表达式输入接口 111、时间输入接口 112、表达式测试单元113 以及测试结果展示单元114。cron表达式输入接口 111用于接收cron表'达式的输入。定时任务创建单 元12可从该cron表达式输入接口 111中获取输入的cron表达式,从而生成 触发器参数中的时间参数。时间输入接口 112用于接收本文档来自技高网...

【技术保护点】
一种Java应用系统中实现定时任务的系统,其特征在于,包括: 参数输入接口,用于通过图形用户界面接收指定作业的操作参数; 参数存储单元,用于存储数据; 定时任务创建单元,用于根据所述参数输入接口接收的操作参数为指定的作业创 建触发器,并将所述触发器的运行参数存储到到参数存储单元; 作业执行单元,用于读取所述参数存储单元中的触发器的运行参数并根据所述运行参数使对应触发器触发对应作业运行。

【技术特征摘要】

【专利技术属性】
技术研发人员:梁中华徐亮陈思
申请(专利权)人:深圳市珍爱网信息技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1