第1页共16页目录第一章前言...............................................................................................................................2第一章任务类型注册.....................................................................................................................3第二章预警条目配置.....................................................................................................................6第三章预警消息查询.....................................................................................................................7第四章后台任务部署.....................................................................................................................8第五章我的任务...........................................................................................................................101.临时任务提交.................................................................................................................102.我的任务.........................................................................................................................11第六章任务监控...........................................................................................................................12第七章任务日志...........................................................................................................................13第八章业务插件开发指南...........................................................................................................141.预警插件开发.................................................................................................................142.任务插件开发.................................................................................................................14第2页共16页第一章前言在满足企业信息化需求的过程中,除了通过人机交互来驱动完成的业务功能外,总有一些定时或事件触发的自动任务也需要处理。针对这种需求,在NC原有预警平台基础上,NC推出了任务中心。任务中心主要支持以条件触发为特点的业务预警和后台异步处理的自动任务两类。任务中心首先提供业务插件的注册功能,分为业务预警和后台任务两类,由产品开发或二次开发人员使用。任务体的执行实际上就是业务插件类的执行。根据注册的任务类型,通过系统提供的预警条目配置和后台任务部署,配置好运行参数、时间配置和消息方式等属性后产生具体的任务条目,并被部署到后台的调度引擎进行调度。系统提供对运行期的任务的监控和管理,并对运行完成的任务进行了日志。同时,还可以直接在产品界面上部署临时任务,我的任务用于管理临时任务。第3页共16页第一章任务类型注册该节点提供注册业务预警和后台任务两种类型的任务插件注册。图1任务注册主界面点击“增加”按钮,会弹出如下的向导对话框。第4页共16页图2增加任务注册图3类型注册-业务预警第5页共16页图4类型注册-后台任务第6页共16页第二章预警条目配置相比NC5.02之前的版本,本版预警条目配置主界面有所改变。图5预警条目配置主界面具体设置信息,详见《NCV5-预警平台技术红皮书.doc》文档。第7页共16页第三章预警消息查询见《NCV5-预警平台技术红皮书.doc》文档。第8页共16页第四章后台任务部署该节点针对后台任务类型来部署具体的任务条目。图6后台任务部署主界面新增条目定义,会弹出如下对话框:图7后台任务条目设置-基本属性第9页共16页图8后台任务条目设置-类型和实参图9后台任务条目设置-其他配置第10页共16页第五章我的任务1.临时任务提交临时任务不需要预先注册任务类型。产品组在各自产品界面上点击“异步XX”按钮,由产品组决定是否弹出对话框来输入实参或触发时间配置,之后调用平台接口进行任务的部署。任务部署后,不会持久化任务条目,只向调度引擎新增任务实体。图10临时任务触发时间配置触发时间配置对话框的调用方法:TimeConfigVOtc=null;AlertTimingDlgtimingDlg=newAlertTimingDlg(this);timingDlg.setAlertTime(newAlertTimeConfig());timingDlg.setLocationRelativeTo(this);if(timingDlg.showModal()==UIDialog.ID_OK){tc=timingDlg.getTimeSettingPanel().getTimeConfigVO();}第11页共16页临时任务的部署接口:2.我的任务提供对自己提交的临时任务的管理。图11我的任务主界面booleannc.itf.uap.pa.IPreAlertConfigService.startOnceTask(StringmoduleName,StringpluginClassName,BgWorkingContextwc,TimeConfigVOtimevo)throwsBusinessException一次执行临时后台任务接口Parameters:moduleName业务插件类所在模块名,如uappluginClassName插件类全名称,如nc.bs.scm.sampleBgWorkPluginBgWorkingContext后台任务的执行上下文。除了必须设置任务的当前部署人之外,根据插件需要,产品组可自己设置更多的实参。timevo时间配置VO。可以为null,表示立即执行。Returns:是否执行成功Throws:BusinessExceptionSince:v5.3任务中心新增第12页共16页第六章任务监控该处仅仅监控任务中心产生的任务,并不是对调度引擎中三个队列(任务队列、可执行队列、运行队列)中所有的任务进行浏览和管理。任务创建等待运行正在运行运行完毕1.到达运行时间,进入可执行队列加入任务队列加入运行队列,取得执行器并执行任务从运行队列删除,回收执行器2.重新加入任务队列图12调度引擎中任务状态图图13任务监控主界面对处于等待状态的任务,可以手工立即执行该任务实例。对处于等待和可执行状态的任务可以删除该任务实例。第13页共16页第七章任务日志该处是对于通过任务中心部署的任务执行结果进行日志,并不是对调度引擎所有执行的任务进行跟踪。主要记录任务实体的开始执行时间、结束执行时间、执行结果、说明、条目定义对象。任务日志是在任务执行体ITaskBody.execute()内完成。但对于不是通过任务中心部署的任务,无法日志到数据库中。图14任务日志主界面可多选行后批量删除日志记录。双击日志行,可查看到其任务条目定义。但对于临时任务,无法联查条目。第14页共16页第八章业务插件开发指南任务的业务插件的实现接口如下图所示。IBusinessPlugininterface+getImplmentsType()+implementReturnFormatMsg()+implementReturnMessage()+implementReturnObject()+implementWriteFile()IBusinessPlugin3interfaceIBusinessPlugin2interface预警业务插件BgWorkingContextIBackgroundWorkPlugininterface+executeTask(bgwc:BgWorkingContext)后台任务插件Key图15业务插件实现的接口1.预警插件开发见《NCV5-预警平台技术红皮书.doc》文档。2.任务插件开发实现接口IBackgroundWorkPlugin即可,其定义如下:publicinterfaceIBackgroundWorkPlugin{/***任务插件执行体*@parambgwc执行环境*@return任务执行完成后,需要日志的信息(即可以在任务日志节点中查看的内容)*@throwsBusinessException第15页共16页*/StringexecuteTask(BgWorkingContextbgwc)throwsBusinessException;}其中,任务执行环境BgWorkingContext的定义如下:/***后台任务执行环境.*/@SuppressWarnings(serial)publicclassBgWorkingContextextendsCurrEnvVO{/***当前登录日期*/privateUFDateloginDate=null;/***备份数据源*/privateStringdatasource=null;/***具体一些阈值的实参.对应结构为key:阈值字段名,value:真实的值*/privateLinkedHashMapString,ObjectkeyMap=newLinkedHashMapString,Object();privateStringlogString=null;//插件需要的日志信息(持久化到数据库)publicUFDategetLoginDate(){returnloginDate;}publicvoidsetLoginDate(UFDateloginDate){this.loginDate=loginDate;}publicLinkedHashMapString,ObjectgetKeyMap(){returnkeyMap;}publicStringgetDatasource(){returndatasource;}publicvoidsetDatasource(Stringdatasource){this.datasource=datasource;}publicvoidsetLogStr(StringlogString){this.logSt