`

java定时执行某个事件的3种方法

阅读更多

转载:http://www.liuzm.com/article/java/91021b.htm

 

在某个时间,执行某个事件时,在JAVA 目前是有三种方法:

底一个是JAVA类中的 Timer 这个类,也是最常用到的
第二个是ServletContextListener
第三个是 如果用SPRING,org.springframework.scheduling.timer.ScheduledTimerTask也可以

1)java.util.Timer
这个方法应该是最常用的,不过这个方法需要手工启动你的任务:
Timer timer=new Timer();
timer.schedule(new ListByDayTimerTask(),10000,86400000);
这里的ListByDayTimerTask类必须extends TimerTask里面的run()方法。

2)ServletContextListener
这个方法在web容器环境比较方便,这样,在web server启动后就可以自动运行该任务,不需要手工操作。
将ListByDayListener implements ServletContextListener接口,在contextInitialized方法中加入启动Timer的代码,在contextDestroyed方法中加入cancel该Timer的代码;然后在web.xml中,加入listener:

<listener>
<listener-class>com.qq.customer.ListByDayListener</listener-class>
</listener>

3)org.springframework.scheduling.timer.ScheduledTimerTask如果你用spring,那么你不需要写Timer类了,在schedulingContext-timer.xml中加入下面的内容就可以了:

 写道
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
<bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref local="MyTimeTask1"/>
</list>
</property>
</bean>

<bean id="MyTimeTask" class="com.qq.timer.ListByDayTimerTask"/>

<bean id="MyTimeTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask">
<ref bean="MyTimeTask"/>
</property>
<property name="delay">
<value>10000</value>
</property>
<property name="period">
<value>86400000</value>
</property>
</bean>
</beans>
 

 

 

分享到:
评论

相关推荐

    Java定时执行任务的三种方法

    介绍了Java定时执行任务,给出了如何使用ServletContextListener实现定时运行java某个方法的例子,简单易用。

    Java定时执行某个任务

    NULL 博文链接:https://penghuaiyi.iteye.com/blog/353669

    java定时运行程序执行方法

    每天可以定时执行一个程序,运行方法,也就是相当于定时器一样.好处就是可以比如平常程序访问量数据量方面比较大的时候,耗时间时你可以把它定时某个访问量或数据量小的时间段运行.

    JAVA项目服务器启动时自启动指定的Servlet,并定时执行任务

    JAVA项目服务器启动时自启动指定的Servlet,并定时执行任务。 配置关键在web.xml和servlet文件中的init操作

    Java定时更新数据—定时器

     Java.util.Timer:一种线程设施,用于安排以后再后台线程中执行的任务.可安排任务执行一次或者定期重复执行.其中几个方法需要我们注意一下:  cancel():终止此计时器,丢弃所有当前已安排的任务。  ...

    javaagent:基于javaagent开发的APM工具,收集方法的执行次数和执行时间,定时输出成json格式的日志

    相比于NewRelic或者开源的,以及阿里的,本工具主打的是简单,我们只记录每个方法的执行次数和时间,并输出到json格式的日志文件中。基于javaagent的日志,你可以使用严丽同学开发的进行分析查询,或者可以自己去写...

    Android 定时任务过程详解

    在Android开发中,通过以下三种方法定时执行任务: 一、采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式) 二、采用Handler的postDelayed(Runnable, long)方法(最简单的android实现) 三、采用...

    Java并发编程(学习笔记).xmind

    基于一种可能失效的观察结果来做出判断或执行某个计算 复合操作:执行复合操作期间,要持有锁 锁的作用 加锁机制、用锁保护状态、实现共享访问 锁的不恰当使用可能会引起程序性能下降 对象的...

    java课程设计:日历记事本

    (3)查询信息:用户可以查询到某个月的所有提示信息。 四. 提交的成果 1. 设计说明书一份,内容包括: 1) 中文摘要100字;关键词3-5个; 2) 序言; 3) 基本要求实现(包括程序流程图;部分代码;) 4) 系统要求实现...

    Spring自动执行方法

    Spring配置每隔X秒执行方法或者定时执行任务 myeclipse完整项目,带Jar包带注释.保证下载后就能运行

    java定时器的实现

    java定时器的实现 本例依据Java自身提供的接口实现,通过监听器(Listener)和定时器(Timer)定时执行某个任务(Task)。

    线程的基本概念、线程类、任务类、线程优先级、sleep()方法、yield()方法、join方法、interrupt()方法

    在休眠期间,线程不会占用CPU资源,可以用来等待某个条件满足或者定时执行任务。 线程的礼让是指一个线程主动让出CPU资源,使其他线程有机会执行。在Java中,可以使用Thread类的yield()方法实现线程的礼让。 线程的...

    java配置管理系统源码

    配置管理系统提供系统参数配置管理,例如数据库的配置信息等,配置参数修改以后可以实时推送到客户端(基于netty4), 方便系统动态修改运行参数。 可以建多个项目,每个项目分为三种profile(development、test、...

    java配置管理系统.rar

    配置管理系统提供系统参数配置管理,例如数据库的配置信息等,配置参数修改以后可以实时推送到客户端(基于netty4), 方便系统动态修改运行参数。 可以建多个项目,每个项目分为三种profile(development、test、...

    ProcessMonitor:一个Java应用程序,用于监视和记录进程的开始和停止时间

    过程监控器监视和记录流程开始和停止时间的Java应用程序。 它以YYYY-MM-DD格式同时以CSV和txt格式写入状态。 CSV文件包含应用程序的开始时间,进程的开始时间和结束时间。 TXT文件在每次记录时都会保存该进程的状态...

    Quartz如何实现判断某个任务是否正在运行,在项目中用到的,已经测试过了

    Quartz如何实现判断某个任务是否正在运行,在项目中用到的,已经测试过了,很好用,分享给大家

    监听器定时调度实例(很容易学会)

    我们在编写程序时,经常会用到定时调度任务的问题,比如,每经过5分钟执行某个操作,其实很简单,只要使用上监听器就可以,当服务已启动的时候,就会自动执行调度任务,下面详细为大家说下简单的使用方法

    Quartz调度、终止执行的任务

    使用Quartz调度任务,根据需要人为的终止某个任务,适用于很多常见的场景

    java核心知识点整理.pdf

    25 3:ServicorTo 和 ServicorFrom 互换................................................................................................................25 2.3.3.1. 2.4.1. 如何确定垃圾 ......................

    JAVA核心知识点整理(有效)

    25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................

Global site tag (gtag.js) - Google Analytics