看了下大部分的JAVA Web的请求方式都是使用在Web.xml中配置监听器实现!

这里自己写了个Timer能同样达到一样的要求!而且可以自己控制 启动或关闭,而且可以设置1天内在6,9,12点执行该定时器,感觉

听灵活的!

啥样呢?

后台代码如下:

/**

* @author qiyulin

* @date 2016 05 06

* */

@Controller()

@Scope("prototype")

public class MapAction extends GenericAction{

private static final long serialVersionUID = -8570260939683969514L;

private static MyTimer mt ;

//定时器数据同步

private String msg;

public String timer(){

String on = request().getParameter("on");

String times = request().getParameter("times");

if(empty(times)) times = "1";

if(!empty(on)&&"yes".equals(on)){

//启动定时器

mt =new MyTimer(times);

mt.start(new MyTimerCallback(){

public void finshed(int status) {

switch(status){

case 1:

System.err.println("定时器:已触发");

break;

case 0:

System.err.println("定时器:未触发");

break;

}

}

});

msg="定时器已被启动";

}else if(!empty(on)&&"no".equals(on)){

//关闭定时器

if(mt!=null){

mt.end(new MyTimerCallback(){

public void finshed(int status) {

//do something

System.out.println("定时器:已关闭");

}

});

}

msg="定时器已被关闭";

}else{

msg="Welcome to Timer";

}

return AppConstants.RETURN_TYPE_FREEMARKER;

}

//空判断

private boolean empty(Object obj){

if(null!=obj&&!"".equals(obj)){

return false;

}

return true;

}

//内部类

class MyTimer{

private String hours;

private Timer timer = new Timer(true);

public MyTimer(String hours) {

this.hours = hours;

}

public void start(final MyTimerCallback callback){

timer.schedule(new TimerTask(){

@SuppressWarnings("deprecation")

@Override

public void run() {

Calendar cal = Calendar.getInstance();

String hs[] = hours.split(",");

int hour= cal.getTime().getHours();

boolean b=Arrays.asList(hs).contains(String.valueOf(hour));

if(b){

callback.finshed(1);

}else{

callback.finshed(0);

}

}

}, 0,10*1000);

}

public void end(MyTimerCallback callback){

timer.cancel();

callback.finshed(2);

}

}

//回调

interface MyTimerCallback{

void finshed(int status);

}

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

}

页面代码如下:

系统定时器管理工具

Welcome to Timer

Open Timer

1天内执行定时器的小时点: 备注:1天内在6,9,12点执行该定时器,则填写: 3,6,9


Close Timer

感觉挺好用的,哈哈,下班....

原创:http://blog.csdn.net/qilin001cs

原文:http://blog.csdn.net/qilin001cs/article/details/51333713

java 自由控制定时器,JAVA web实现可控制定时器相关推荐

  1. java自由职业者_自由职业者的7个重要技巧

    java自由职业者 The gig economy is growing. According to research from IPSE, 1.8 million people now work a ...

  2. 基于Java+MySQL 实现(Web)日程管理系统【100010222】

    基于Java的日程管理系统开发 摘要 日程管理在日常生活中是十分普通的一件事情,人们无论在生活中还是工作中都会有大大小小.各种各样的事情安排,如果仅仅靠纸张或者自己记录这些事情,往往会遗忘.针对这样的 ...

  3. Java修炼之道--Web

    原作地址:https://github.com/frank-lam/2019_campus_apply 前言 在本文中将总结 Java Web 开发技术和相关框架的核心知识.因框架知识体系比较庞大,具 ...

  4. JAX-RS(Java API for RESTful Web Services)常用注解

    为什么80%的码农都做不了架构师?>>>    概述 JAX-RS(Java API for RESTful Web Services)是Java 提供用于开发RESTful Web ...

  5. java和python的web自动化有什么区别-Java Web开发和Python Web开发之间的区别

    今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...

  6. java和python的web自动化有什么区别-Java 和 Python 有哪些区别?

    区别 一.python虚拟机没有java强,java虚拟机是java的核心,python的核心是可以很方便地使用c语言函数或c++库. 二.python是全动态性的,可以在运行时自己修改自己的代码,j ...

  7. jboss7 Java API for RESTful Web Services (JAX-RS) 官方文档

    原文:https://docs.jboss.org/author/display/AS7/Java+API+for+RESTful+Web+Services+(JAX-RS) Content Tuto ...

  8. 用 Java 技术创建 RESTful Web 服务--转载

    简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX ...

  9. Java和PHP在Web开发方面的比较

    Java和PHP在Web开发方面的比较,比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执 ...

  10. 面向Java应用的快速Web服务支持工具 - Netrifex

    面向Java应用的快速Web服务支持工具 - Netrifex Proxisoft今天宣布Netrifex 1.0版. Netrifex可以立即把Web Services添加到现有的Java SE和J ...

最新文章

  1. td不显示边框_FANUC Series 0i Mate-TD系统上电显示SP1241 (S)D/A变换器异常维修,FANUC主板SP1_维修中心...
  2. 2018年人工智能13大预测
  3. webpack 编译html模板文件
  4. 查询Sqlserver数据库死锁的一个存储过程
  5. 利用反射,泛型,静态方法快速获取表单值到Model。
  6. 框架笔记:记录XLua的简单接入
  7. VR打造视觉盛宴,丰富精彩生活
  8. 自适应对比度增强(ACE)算法原理及实现
  9. STM32电机库5.4开源注释单电阻霍尔 有感霍尔读取电角度 单电阻采样
  10. Silverlight常见问题解决方法
  11. ds存储管理软件 storage Manager下载方法
  12. linux下安装交叉编译器
  13. 阿里巴巴JAVA开发手册最新版pdf
  14. linux安装Python 以及Python包
  15. 哪些行业网站适合使用CDN加速?
  16. Shell脚本工具三剑客 Sed
  17. 微信小程序-多层饼图/包含关系饼图/自定义饼图关系模式
  18. 工作记录--使用FFmpeg将一个视频文件中音频合成到另一个视频中
  19. 英特尔SST音频驱动导致Windows11电脑蓝屏,驱动人生带来电脑蓝屏解决方案
  20. html5 2019新年祝福页面,新年祝福语2019

热门文章

  1. SpringBoot实现输入三条边长,如果能构成三角形就计算周长和面积
  2. 倾斜摄影小范围精细建模方案
  3. 用Python可视化分析绝地求生上万场游戏数据,教你做最强吃鸡攻略啦~
  4. 马薇薇还不是被她看不起的人打败了
  5. 戴尔笔记本vostro 5402高通无线网卡出现wlan找不到WI-FI网络诊断说无线适配器或接入点问题
  6. python docx模块pip安装_pip安装python模块方法
  7. 麦克纳姆轮和ROS系统结合实现自主导航避障
  8. 芝诺悖论-阿基里斯与龟
  9. 首次!2022年中国博士研究生招生人数突破13万大关!在读博士生人数将近56万......
  10. C# (.NET Core)的DI依赖注入