ERP系统中邮件提醒定时器框架的设计与应用

来源:网络(转载) 作者:王波 发表于:2012-04-18 10:36  点击:
【关健词】ERP; Spring; Quartz; 定时器
在目前的ERP系统中存在着大量的定时任务。为了能够自动处理ERP系统中的定时任务,采用基于Quartz的企业任务调度框架,在无锡烨隆ERP系统的8D管理模块中设计邮件提醒定时器框架,减少了人工干涉,提高了管理效率。Quartz框架具有完善的任务调度服务功能,允许开发人员灵

Design and application of framework for Emailreminding timer in ERP system
  WANG Bo
  (Wuxi College of City Vocational Technology, Wuxi 214000, China)
  
  Abstract: In the present ERP program, there are a lot of tasks for timing. In order to deal with these tasks automatically, the enterprise task scheduling framework based on Quartz is adopted. The Email reminding framework of timer was designed in 8D management model for Yelong Company in Wuxi. It demands less manual work but improves the management efficiency greatly. The Quartz framework has a sophisticated taskscheduling function, allowing developers to define any scheduling rules flexibly.
  Keywords: ERP; Spring; Quartz; timer
  
  
  收稿日期:201110070引言
  企业资源计划(Enterprise Resource Planning,ERP)是基于计算机信息技术和管理科学的最新发展,以计算机信息技术为基础平台,结合先进的企业科学管理理念,充分调配和平衡企业各方面的资源,并以最科学的方式整合企业资源,为企业决策层、管理层和操作层提供项目解决方案,快速达到企业目标。ERP中存在着大量的定时任务,如:客户信用额度的变化、产品价格变更通知、库存出入库盘点月底的报表和工作流程的审批等。为改善企业业务流程,提高企业竞争力,无锡烨隆ERP系统设计中计划通过使用定时器框架来实现定时任务,如邮件自动提醒功能,这样既可以减少人工的干涉,又可以提高办公的效率。ERP系统邮件提醒定时器框架正是在这样的背景下被提出的,该框架结合Spring,同时还要考虑提高代码的可充用性、降低代码的维护成本。
  1定时器框架方案的选择
  定时任务在现在的信息管理系统中已经大量的使用,在Spring框架中就可以选用3种不同的定时机制。
  1.1基于TimerTask的机制
  Java中的TimerTask类可以用来执行定时任务,由Spring框架进行封装调用。其中ScheduledTimerTask类定义任务的执行周期,timerTask属性指定执行的工作类;TimerFactoryBean类负责启动定时任务,scheduledTimerTasks属性显示一个需要启动的定时器任务的列表。TimerTask适用于时间间隔相对较短的简单任务。
  1.2基于Quartz的机制
  Quartz是一个开源任务调度框架,提供了一个比TimerTask更强大的企业级任务调度执行功能,Spring继承并简化了它。Quartz具有很大的灵活性而又不失简单性,能够执行复杂的任务调度。它允许开发人员灵活地定义触发器的调度规则,并可以对触发器和任务进行关联映射。Quartz为基于Spring应用程序提供了便利的类,如MethodInvokingJobDetailFactoryBean,SimpleTriggerBean,CronTriggerBean和SchedulerFactoryBean,以便能够在Spring框架中实现依赖注入,降低了Quartz的使用难度。
  1.3基于Executor的机制
  Executor框架通过线程池来处理异步任务,也可以执行任务调度服务。其中ScheduledExecutorTask类来指定调度的规则,ScheduledExecutorFactoryBean类完成任务的调度,并且可以通过它来控制线程池中的线程数量。
  基于以上分析,TimerTask可以满足简单的定时企业需求;Quartz提供的任务调度服务最为完善,在企业应用非常广泛;Executor提供的线程池服务最为完善。下面将结合Spring框架,使用Quartz来实现定时器的设计。
  2定时器框架的设计
  基于Quartz的定时器框架首先必须导入所需的jar包,然后根据它所提供的一些类来依次实现相应的配置。详细步骤如下所示:
  (1) 声明工作类,该类必须实现相应的业务逻辑,同时将该类中的dao对象也一并包含在内;
  (2) 由MethodInvokingJobDetailFactoryBean 类创建调度的任务,并在该任务中需要指明工作类和实现业务逻辑的方法;
  (3) 由Spring提供的2个类来实现任务的调度规则,它们具体是:SimpleTriggerBean类配置简单的触发(调度)规则,指明任务执行的时机和频率;CronTriggerBean类配置定制模式的触发(调度)规则,它的功能比SimpleTriggerBean实现的功能要强大,能够控制任务触发(调度)的精确时间,最后还需指明调度触发器与任务之间的映射关系;
  (4) 最后由SchedulerFactoryBean 来启动触发器。
  3定时器框架的应用
  如图1所示,以无锡烨隆ERP系统8D管理模块为例,讲述如何基于Quartz框架开发邮件提醒的定时任务。
  图18D质量管理流程图8D管理模块构建使整个团队能够共享信息并努力达成产品质量目标的质量管理体系,能够针对出现的质量问题,及时找出问题产生的根本原因,提出短期、中期和长期对策,并采取相应行动措施。
  8D管理模块中由质量部管理系统中的创建8D,8D查询、8D审核、8D跟踪4个子模块以及其他部门管理系统中的8D跟踪子模块共同构成。
  首先由质量部的员工填写8D基本信息(发生时间、发生地点、发生事件)、选择责任人并允许上传附件(照片或文档描述),生成一条新的8D信息。创建人(审核人)在完成8D创建(审核)操作后可以给责任人发邮件,提醒责任人及时填写并提交或审核D1D3/D4D5/D6D8信息,相关责任人在规定期限内依据不同的权限在8D跟踪模块中按照步骤解决问题。如果D1D3信息的提交超期或审核超期时,系统将给出超期提醒,并向责任人自动发送提醒邮件(D1D3填写限期1天,审核限期为1天),同样D4D5/D6D8信息如果提交超期或审核超期,系统都将向责任人自动发送提醒邮件。以便立即做出反应,解决问题,提高用户的满意度,降低成本和提高生产率。
 定时器框架的开发步骤可以归结为2点:编写任务类和编写配置文件。
  3.1编写任务类
  在com.cssrc.quartz.service路径下新建一个JobService类,通过该类中的方法来实现任务,如voidautoSendEmail(),该方法用来执行发送邮件的计划任务。
  方法中首先需要声明发送邮件所使用的dao,如userDAO,roleDAO,infoEightdDAO,infoOneThreedDAO和infoFourFivedDAO等,并生成相应的getter和setter方法。 (责任编辑:南粤论文中心)转贴于南粤论文中心: http://www.nylw.net(南粤论文中心__代写代发论文_毕业论文带写_广州职称论文代发_广州论文网)

顶一下
(0)
0%
踩一下
(0)
0%


版权声明:因本文均来自于网络,如果有版权方面侵犯,请及时联系本站删除.