java 自由控制定时器,JAVA web实现可控制定时器
看了下大部分的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实现可控制定时器相关推荐
- java自由职业者_自由职业者的7个重要技巧
java自由职业者 The gig economy is growing. According to research from IPSE, 1.8 million people now work a ...
- 基于Java+MySQL 实现(Web)日程管理系统【100010222】
基于Java的日程管理系统开发 摘要 日程管理在日常生活中是十分普通的一件事情,人们无论在生活中还是工作中都会有大大小小.各种各样的事情安排,如果仅仅靠纸张或者自己记录这些事情,往往会遗忘.针对这样的 ...
- Java修炼之道--Web
原作地址:https://github.com/frank-lam/2019_campus_apply 前言 在本文中将总结 Java Web 开发技术和相关框架的核心知识.因框架知识体系比较庞大,具 ...
- JAX-RS(Java API for RESTful Web Services)常用注解
为什么80%的码农都做不了架构师?>>> 概述 JAX-RS(Java API for RESTful Web Services)是Java 提供用于开发RESTful Web ...
- java和python的web自动化有什么区别-Java Web开发和Python Web开发之间的区别
今天的文章讨论了Java Web开发和Python Web开发之间的区别.我不鼓励我们在这里从Java Web迁移到Python Web开发.我只是想谈谈我的感受.它不一定适合所有情况,仅供我们参考. ...
- java和python的web自动化有什么区别-Java 和 Python 有哪些区别?
区别 一.python虚拟机没有java强,java虚拟机是java的核心,python的核心是可以很方便地使用c语言函数或c++库. 二.python是全动态性的,可以在运行时自己修改自己的代码,j ...
- 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 ...
- 用 Java 技术创建 RESTful Web 服务--转载
简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX ...
- Java和PHP在Web开发方面的比较
Java和PHP在Web开发方面的比较,比较PHP和JSP这两个Web开发技术,在目前的情况是其实是比较PHP和Java的Web开发.以下是我就几个主要方面进行的比较: 一. 语言比较 PHP是解释执 ...
- 面向Java应用的快速Web服务支持工具 - Netrifex
面向Java应用的快速Web服务支持工具 - Netrifex Proxisoft今天宣布Netrifex 1.0版. Netrifex可以立即把Web Services添加到现有的Java SE和J ...
最新文章
- td不显示边框_FANUC Series 0i Mate-TD系统上电显示SP1241 (S)D/A变换器异常维修,FANUC主板SP1_维修中心...
- 2018年人工智能13大预测
- webpack 编译html模板文件
- 查询Sqlserver数据库死锁的一个存储过程
- 利用反射,泛型,静态方法快速获取表单值到Model。
- 框架笔记:记录XLua的简单接入
- VR打造视觉盛宴,丰富精彩生活
- 自适应对比度增强(ACE)算法原理及实现
- STM32电机库5.4开源注释单电阻霍尔 有感霍尔读取电角度 单电阻采样
- Silverlight常见问题解决方法
- ds存储管理软件 storage Manager下载方法
- linux下安装交叉编译器
- 阿里巴巴JAVA开发手册最新版pdf
- linux安装Python 以及Python包
- 哪些行业网站适合使用CDN加速?
- Shell脚本工具三剑客 Sed
- 微信小程序-多层饼图/包含关系饼图/自定义饼图关系模式
- 工作记录--使用FFmpeg将一个视频文件中音频合成到另一个视频中
- 英特尔SST音频驱动导致Windows11电脑蓝屏,驱动人生带来电脑蓝屏解决方案
- html5 2019新年祝福页面,新年祝福语2019
热门文章
- SpringBoot实现输入三条边长,如果能构成三角形就计算周长和面积
- 倾斜摄影小范围精细建模方案
- 用Python可视化分析绝地求生上万场游戏数据,教你做最强吃鸡攻略啦~
- 马薇薇还不是被她看不起的人打败了
- 戴尔笔记本vostro 5402高通无线网卡出现wlan找不到WI-FI网络诊断说无线适配器或接入点问题
- python docx模块pip安装_pip安装python模块方法
- 麦克纳姆轮和ROS系统结合实现自主导航避障
- 芝诺悖论-阿基里斯与龟
- 首次!2022年中国博士研究生招生人数突破13万大关!在读博士生人数将近56万......
- C# (.NET Core)的DI依赖注入