java+timer+退出,java timer 兑现在指定时间执行方法

java timer 实现在指定时间执行方法

最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下。

下面是我写的一些代码

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

public class TimerTest {

/*

* 定时执行方法

*/

public void Timing(String sssString , int[] dateTime){

Timer timer = new Timer();

Calendar calendar = Calendar.getInstance();

calendar.set(dateTime[0], dateTime[1]-1, dateTime[2], dateTime[3], dateTime[4], dateTime[5]);//第二的参数要主要,月是从0开始的,所以要-1.

Date date = calendar.getTime();//网络上很多都是用Date date = new Date(year, month, date, hrs, min, sec)

// System.out.println(date);

try {

timer.schedule(new NowTask( timer,sssString), date);//可以传递参数进去定时任务类

} catch (Exception e) {

e.printStackTrace();

}

}

/*

* 实现时间字符串转化为int数组,便于传递参数

*/

public int[] String2Int(String timeString){

String year = timeString.substring(0, 4);

String month = timeString.substring(5, 7);

String date = timeString.substring(8, 10);

String hour =timeString.substring(11, 13);

String min = timeString.substring(14, 16);

String sec = timeString.substring(17,19);

int[] time = new int [6];

String[] timeStrings = new String[]{year,month,date,hour,min,sec};

for (int i = 0; i < timeStrings.length; i++) {

time[i]=Integer.valueOf(timeStrings[i]);

}

return time;

}

public static void main(String[] args) {

TimerTest timerTest = new TimerTest();

String timeString ="2012/04/11 16:46:00";

timerTest.Timing("成功了", timerTest.String2Int(timeString));

}

}

然后是NowTask类

import java.util.Timer;

import java.util.TimerTask;

public class NowTask extends TimerTask{

private Timer timer;

private String string;

/*

* 构造器

*/

public NowTask(){

}

public NowTask(String string){

this.string = string;

}

public NowTask(Timer timer){

this.timer =timer;

}

public NowTask(Timer timer , String string){

this.timer = timer;

this.string =string;

}

//属性的get、set方法

public Timer getTimer() {

return timer;

}

public void setTimer(Timer timer) {

this.timer = timer;

}

public String getString() {

return string;

}

public void setString(String string) {

this.string = string;

}

/*

* (non-Javadoc)

* @see java.util.TimerTask#run()

* 执行方法

*/

@Override

public void run(){

//这里写需要定时执行的方法

System.out.println(string);

timer.cancel();//传递timer进来就是为了在方法执行完后退出,必须退出

System.out.println("结束");

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530523.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux下安装mysql5.7.19,Linux下MySQL5.1升级到高版本MySQL5.7.19详解 | zifangsky的个人博客...

一 数据备份(1)查看当前版本&#xff1a;Shell[rootcentos ~]# mysql -V1[rootcentos~]# mysql -V(2)备份数据&#xff1a;Shell[rootcentos ~]# mysqldump -u root -h 127.0.0.1 -P 3306 -p --all-databases > databases.sql1[rootcentos~]# mysqldump -u root -h 127.0.0.…

mysql event使用,用MySQL的Event设置定时任务执行sql语句 | 老疯子

想在每天某个特定时间段定时执行一条sql语句命令&#xff0c;来进行数据库的备份或者更新删除等&#xff0c;可以直接使用MySQL自带的定时任务Event事件来执行操作。需要注意的是Event事件是在MySQL 5.1版本中新增的&#xff0c;还有一点就是确保你有MySQL数据库的root管理权限…

php如何配置微信公众号环境,微信公众平台开发之配置与请求

一、配置参数define(WEIXIN_APPID, wxzzzzzzzz);define(WEIXIN_APPSECRET, ouewjdsaudsamkh);define(WEIXIN_TOKEN, 9973833232232);define(WEIXIN_NOTIFY_URL, http://xx.com/xx/xx);define(WEIXIN_MCHID, 322221121);define(WEIXIN_KEY, xddsdswewew);1)微信公众号开发中IDWE…

MATLAB设置x为0到10所有数,MATLAB教学_10数值微积分

本文学习视频地址&#xff1a;https://www.bilibili.com/video/av68228488?p10课堂PPT以及本人学习代码已上传。本文学习内容&#xff1a;多项式的微分和积分数值的微分和积分目录多项式的表示方法polyval()polyder()16分钟练习conv()polyint()Numerical Differentiation39分钟…

php header 404 nginx,ThinkPHP在nginx下怎么设置?路由统统404,疯了~

本地用MAMP跑的代码&#xff0c;运行没问题。但是部署到CENTOS 6.8 NGINX服务器上的时候&#xff0c;路由地址都404了&#xff01;[可以访问] http://something.com/API/public/index.php[404] http://something.com/API/public/index.php/consult_add折腾一晚上了。。简直了&a…

vue怎么使用php调取数据,vue 数据操作

pushpopshiftunshiftsplicesortreverse{{ item.message }} #var example new Vue({el: #example,data: {items: [{message: Foo },{message: Bar },{message: Baz }],addValue:{message:match}},methods:{push(){//接收任意数量的参数&#xff0c;把它们逐个添加到数组末尾&am…

php strchr 截断,PHP strchr() 函数

w3school 教程PHP String 函数查找 "world" 在 "Hello world!" 中的第一次超并返回此字符串的其余个别&#xff1a;echo strchr("Hello world!","world");?>运行实例strchr() 函数搜他串在另一字符串中的第一次常该函数是 strstr(…

matlab与专业应用,MATLAB应用技术--在电气工程与自动化专业中的应用

第1章 MATLAB基本知识.1.1 MATLAB简介1.1.1 概述1.1.2 MATLAB安装与运行1.2 MATLAB的基本操作1.2.1 MATLAB语言结构1.2.2 MATLAB常用命令1.2.3 MATLAB的M文件1.2.4 输入与输出函数1.3 MATLAB的矩阵运算1.3.1 矩阵的实现1.3.2 矩阵的运算1.4 MATLAB的向量运算1.5 MATLAB的控制语…

php 单一职责原则,Laravel深入学习8 - 单一责任原则

声明&#xff1a;本文并非博主原创&#xff0c;而是来自对《Laravel 4 From Apprentice to Artisan》阅读的翻译和理解&#xff0c;当然也不是原汁原味的翻译&#xff0c;能保证90%的原汁性&#xff0c;另外因为是理解翻译&#xff0c;肯定会有错误的地方&#xff0c;欢迎指正。…

matlab aic sic,sic是什么意思_sic的翻译_音标_读音_用法_例句_爱词霸在线词典

全部In the mud -- En ange e il mondo ! [ sic ] ( 6 )污泥里 —— Efangoeilmondo! ( 六 )汉英文学 - 围城Fixed - seal & rotational - seal are made of various msterials, SIC, Carbon, Ceramic and can withstand various chemicals.固定环 及 转动环由各种不同材质…

centos6.3 nginx php,CentOS 6.3下nginx、php-fpm、drupal快速部署

一切本着从简原则来做&#xff0c;能yum/rpm的&#xff0c;坚决不手工编译 :)本次部署环境基于CentOS 6.3 x86_64系统。0. 准备工作#更新yum[rootimysql ~]# yum -y update[rootimysql ~]# yum install libaio-devel.x86_64#drupal 8.0需要用到curl模块[rootimysql ~]# yum ins…

链路追踪php,easyswoole链路追踪

TrackerEasyswoole提供了一个基础的追踪组件&#xff0c;方便用户实现基础的服务器状态监控&#xff0c;与调用链记录。组件要求php: >7.1.0ext-swoole: ^4.4.0easyswoole/component: ^2.0安装方法composer require easyswoole/tracker仓库地址调用链Easyswoole的调用链跟踪…

razor java,如何在Razor中声明局部变量?

我正在asp.net mvc 3中开发一个Web应用程序。我对它很新。 在使用剃刀的视图中&#xff0c;我想声明一些局部变量并在整个页面中使用它。 如何才能做到这一点&#xff1f;能够执行以下操作似乎相当微不足道&#xff1a;bool isUserConnected string.IsNullOrEmpty(Model.Creat…

amp 符号 php,php中引用符号(amp;)的使用详解_PHP教程

与&#xff23;语言中的指针是有差别的&#xff0e;&#xff23;语言中的指针里面存储的是变量的内容在内存中存放的地址变量的引用.PHP 的引用允许你用两个变量来指向同一个内容复制代码 代码如下:$a"ABC";$b &$a;echo $a;//这里输出:ABCecho $b;//这里输出:ABC…

oracle ora 00283,【案例】Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程

天萃荷净Oracle研究中心案例分析&#xff1a;运维DBA反映Oracle数据库处理非归档模式&#xff0c;redo文件损坏常规修复无法正常open数据库。本站文章除注明转载外&#xff0c;均为本站原创&#xff1a; 转载自love wife & love life —Roger 的Oracle技术博客本文链接地址…

win7卸载oracle12c,Windows7上完全卸载Oracle 12c操作步骤

Windows7上完全卸载Oracle 12c操作步骤1.关闭Oracle所有的服务,按【winR】运行【services.msc】找到所有Oracle开头的服务(OracleVssWriterORCLOracleServiceORCLOracleOraDB12Home1TNSListenerOracleOraDB12Home1MTSRecoveryServiceOracleJobSchedulerORCL),点击停止。2.使用O…

图像灰度映射实验MATLAB,图像灰度变换实验报告

实验2a 图像的灰度变换一、实验目的&#xff1a;学会用Matlab软件对图像进行运算和灰度变换。二、实验内容&#xff1a;用、-、*、/、imabsdiff、imadd、imcomplment、imdivide、imlincomb、immultiply、imsubtract和imadjust等函数生成各类灰度变换图像。三、实验相关知识1、代…

oracle深度巡检指标,oracle DBA 巡检项目

11.Oracle审计-AUD$占用空间较大处理方案truncate 或者 delete sys.aud$ 表在delete 之前&#xff0c;可以先把aud$表exp备份一下&#xff0c;注意&#xff0c;不要直接exp&#xff0c;先创建一张临时表&#xff0c;然后将临时表exp。sql>create table audit_record tablesp…

eclipse oracle驱动位置,【求助】eclipse导入了Oracle的驱动包连不上Oracle

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼代码&#xff1a;package com.sp;import java.sql.*;//演示JDBC连接public class OraDemo2 {public static void main(String[] args) throws ReflectiveOperationException, SQLException {// TODO Auto-generated method stub//1…