HTML5技术

net.sz.framework 框架 轻松搭建服务---让你更专注逻辑功能---初探 - 失足程序员(2)

字号+ 作者:H5之家 来源:H5之家 2017-04-02 10:11 我要评论( )

1 package net.sz.blog.test.scripts.main; net.sz.blog.test.main.Test_App_Manager; 4 import net.sz.blog.test.main.iscript.IAppManagerScript; 5 import net.sz.framework.szlog.SzLogger; * 9 * br 10 * auth

1 package net.sz.blog.test.scripts.main; net.sz.blog.test.main.Test_App_Manager; 4 import net.sz.blog.test.main.iscript.IAppManagerScript; 5 import net.sz.framework.szlog.SzLogger; * 9 * <br> 10 * author 失足程序员<br> <br> 12 * mail 492794628@qq.com<br> 13 * phone 13882122019<br> AppManagerScript implements IAppManagerScript { SzLogger log = SzLogger.getLogger(); 18 19 @Override _init() { Test_App_Manager.setiAppManagerScript(this); 23 } 24 25 @Override startEnd() { 27 log.error("主项目单例模式脚本调用函数执行"); log.error("holle world!"); 30 } 31 32 @Override stop() { 34 } 35 36 }

 

 顺利完成了脚本的注册,输出holle world 

定时器任务实现

在主项目下面和main包同级别下建立timer包

建立文件ServerInfoTimer 每一秒钟执行 需要手动注册的定时器任务执行;

我们暂时加入公共线程执行的定时器

1 package net.sz.blog.test.timer; net.sz.framework.szlog.SzLogger; 4 import net.sz.framework.szthread.TimerTaskModel; * 8 * <br> 9 * author 失足程序员<br> <br> 11 * mail 492794628@qq.com<br> 12 * phone 13882122019<br> ServerInfoTimer extends TimerTaskModel { SzLogger log = SzLogger.getLogger(); ServerInfoTimer() { } 21 22 @Override run() { 24 log.error("我是主项目里面执行定时器"); 25 } 26 27 }

View Code

 

接下来我们在脚本项目中依然是main同级别建立timer包

建立TestTimerScript脚本文件,这里的定时器依然是每一秒钟执行,但是是自动执行的无需线程注册; 

1 package net.sz.blog.test.scripts.timer; net.sz.framework.szlog.SzLogger; 4 import net.sz.framework.szthread.timer.iscript.ISecondsEventTimerScript; * 8 * <br> 9 * author 失足程序员<br> <br> 11 * mail 492794628@qq.com<br> 12 * phone 13882122019<br> TestTimerScript implements ISecondsEventTimerScript { SzLogger log = SzLogger.getLogger(); @Override run(int sec) { 21 log.error("我是脚本里面执行定时器"); 22 } 23 24 }

View Code

 

 我们在主函数main方法中加入ServerInfoTimer 定时器的手动注册代码

ThreadPool.addTimerTask(ThreadPool.GlobalThread, new ServerInfoTimer()); /* 值的注意,服务器程序准备好工作后,我们必须设置这个参数 这时因为本线程池线程分为 sys线程 和 user线程; 没有这个标识,user线程是不会执行定时器操作的; */ ThreadPool.setStarEnd(true);

 

看看效果先

 

两种定时任务执行;值的注意的是在脚本的定时器任务不能执行长时间任务,这样会占用其他定时器任务的执行时间;一般作为定时触发器;

到这里 net.sz.framework java 版本基础使用就算完成 

C#版本的代码还需要进一步整合,所以就暂时不放出来;

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Omi框架Store体系的前世今生 - 【当耐特】

    Omi框架Store体系的前世今生 - 【当耐特】

    2017-03-25 13:00

  • Html5游戏框架createJS组件--EaselJS - 叶超Luka

    Html5游戏框架createJS组件--EaselJS - 叶超Luka

    2017-03-22 12:01

  • Omi v1.0震撼发布 - 令人窒息的Web组件化框架 - 【当耐特】

    Omi v1.0震撼发布 - 令人窒息的Web组件化框架 - 【当耐特】

    2017-03-21 08:02

  • DapperPoco -- 基于Dapper的、轻量级的、高性能的、简单的、灵活的ORM框架 - Frank.Cui

    DapperPoco -- 基于Dapper的、轻量级的、高性能的、简单的、灵活的OR

    2017-03-18 14:07

网友点评
m