当前位置:首页>软件介绍>移动办公OA系统的计划任务接口 查询:
     
移动办公OA系统的计划任务接口

的计划任务接口 客户开发人员可以利用计划任务接口定时执行一段自己定义的操作,比如在两个数据源之间交换数据。 厦门OA提供两种计划任务接口 IntervalJob接口,此接口每隔一段时间执行一次(自己定义间隔时间) CronJob接口,此接口在指定的时间点执行(自己定义时间点) 定义计划任务的方法是在名易OA安装目录WEB-INFervicechedule.xml中声明: service-pointid=job1interface=think.interfaces.schedule.IntervalJob invoke-factory constructclass=think.interfaces.schedule.BaseIntervalJob set-serviceproperty=dsservice-id=local setproperty=secondvalue=60 construct invoke-factory ervice-point 上面的声明定义了一个名为job1的IntervalJob,该接口中的方法execute()将会每60秒执行一次。同时把前面定义的local数据源注入到了接口中,这样的话就可以在execute()中读写local数据源。我们也可以注入两个数据源到接口中,这样就可以在两个数据源之间交换数据: service-pointid=job2interface=think.interfaces.schedule.IntervalJob invoke-factory constructclass=think.interfaces.schedule.BaseIntervalJob set-serviceproperty=dsservice-id=local        set-serviceproperty=ds1service-id=msds setproperty=secondvalue=60 construct invoke-factory ervice-point 声明一个CronJob的方法和IntervalJob类似,在厦门安装目录WEB-INFervicechedule.xml中声明: service-pointid=job3interface=think.interfaces.schedule.CronJob invoke-factory constructclass=think.interfaces.schedule.BaseCronJob set-serviceproperty=dsservice-id=local        set-serviceproperty=ds1service-id=msds setproperty=cronExprvalue=04412?*MON-FRI construct invoke-factory ervice-point 上面的声明定义了一个周一到周五12:44执行的计划任务。什么时候执行计划任务由cronExpr表达式决定。一个cron表达式有至少6个有空格分隔的时间元素, 按顺序依次为: 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天(星期)(1~71=SUN或SUN,MON,TUE,WED,THU,FRI,SAT) 0010,14,16**?每天上午10点,下午2点,4点 00309-17**?朝九晚五工作时间内每半小时 0012?*WED表示每个星期三中午12点 0012**?每天中午12点触发 01510?**每天上午10:15触发 01510**?每天上午10:15触发 0*14**?在每天下午2点到下午2:59期间的每1分钟触发 00514**?在每天下午2点到下午2:55期间的每5分钟触发 00514,18**在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发 00-514**?在每天下午2点到下午2:05期间的每1分钟触发 010,4414?3WED每年三月的星期三的下午2:10和2:44触发 01510?*MON-FRI周一至周五的上午10:15触发 0151015*?每月15日上午10:15触发 01510L*?每月最后一日的上午10:15触发 01510?*6L每月的最后一个星期五上午10:15触发 01510?*6#3每月的第三个星期五上午10:15触发

有些子表达式能包含一些范围或列表 例如:子表达式(天(星期))可以为MON-FRI,MON,WED,FRI,MON-WED,SAT *字符代表所有可能的值 因此,*在子表达式(月)里表示每个月的含义,*在子表达式(天(星期))表示星期的每一天 字符用来指定数值的增量 例如:在子表达式(分钟)里的015表示从第0分钟开始,每15分钟 在子表达式(分钟)里的320表示从第3分钟开始,每20分钟(它和3,23,43)的含义一样

?字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值 当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为? 注意,上文中的think.interfaces.schedule.BaseIntervalJob和think.interfaces.schedule.BaseIntervalJob是OA提供的默认接口实现,它们的execute()是空的,不做任何操作。客户开发人员如果要使用计划任务接口的话,必需继承think.interfaces.schedule.BaseIntervalJob或think.interfaces.schedule.BaseIntervalJob,用自己的业务逻辑覆盖它们的execute(). 举个简单的例子,我需要OA系统每隔一小时统计一下系统人数并输出到控制台,步骤如下 编写自己的计划任务实现 importthink.interfaces.schedule.BaseIntervalJob; importjava.sql.Connection; importjava.sql.PreparedStatement; importjava.sql.ResultSet; ** *IntervalJob示范代码,集成BaseIntervalJob,用自己的业务逻辑覆盖了execute()方法 * publicclassMyIntervalJobextendsBaseIntervalJob{ publicvoidexecute(){ 从数据源中获取连接 Connectionconn=getDs().getConnection(); try{ 通过jdbc获取人数 PreparedStatements=conn.prepareStatement(selectcount(*)asamountfromhrmresource); ResultSetrs=s.executeQuery(); rs.next(); Stringamount=rs.getString(amount); 输出到控制台 System.out.println(人数:+amount); 关闭记录集 rs.close(); 关闭statement s.close(); }catch(Exceptione){ getLog().error(e); }finally{ try{ 关闭连接 conn.close(); }catch(Exceptione){ getLog().error(e); } } } } 在schedule.xml中声明 service-pointid=job3interface=think.interfaces.schedule.IntervalJob invoke-factory constructclass=MyIntervalJob set-serviceproperty=dsservice-id=local setproperty=secondvalue=3600 construct invoke-factory ervice-point 可以用类似的方法实现自己的cronJob,本文不再赘述。


企业如何建立完善沈阳OA信息化系统?OA办公系统对相关字段属性的解释说明:
沈阳OA信息化软件系统管理办法-参考沈阳OA软件为您介绍OA系统中的报表的查看权限
名易软件微信营销微伙伴2.5.11版更新上线名易软件微信营销在线平台全新升级上线
名易软件微信营销粉丝卡全新上线名易软件微信营销获张江高科千万元投资 公司称未来不排除联姻腾讯
软件定义存储:是什么?怎么用?OA《培训学习管理系统》课外辅导培训
选择在线平台,合同是关键!名易软件软件让您放心!协同OA办公系统的短信接口实现过程
厦门名易OA软件权限整理三(人力资源)名易OA软件电子公章、红头文件及打印的管理
保险公司灾备系统建设浅析中间件技术趋势:应用系统实用化
信息发布:广州名易软件有限公司 http://www.myidp.net
  • 名易软件销售服务
  • 名易软件销售服务
  • 名易软件技术服务

  • 移动办公OA系统的计划任务接口