- 浏览: 1378791 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (328)
- JSF (27)
- 生活 (12)
- Ajax (26)
- Maven (6)
- CSS (1)
- Shale (3)
- SiteMesh (1)
- Ext (15)
- JMX (2)
- Windows技巧 (7)
- 工作感悟 (18)
- SVN (2)
- SVG (0)
- GoogleGear (0)
- RAP (2)
- SOA与WebService (3)
- 笔记本技术研究 (1)
- Microsoft (2)
- 英语学习 (3)
- PHP (7)
- web 2.0 (6)
- 语义Web (1)
- IT史话 (3)
- iText (3)
- JVM (1)
- PropertiesEditor (1)
- J2SE (33)
- Spring (2)
- Java Batch (1)
- log (2)
- Struts2 (2)
- DWR (0)
- JAAS (3)
- EJB3 (4)
- Flex (8)
- JFreeChart (1)
- WAS (0)
- 数据库 (2)
- 摄影 (0)
- SQL (1)
- Google App Engine (1)
- linux (5)
- Eclipse plugin (10)
- Testing (0)
- Portal (0)
- 移动互联网 (0)
- SWTBot (1)
最新评论
-
江奇缘:
不错!!!!!!
web.xml里<filter-mapping>中的<dispatcher>作用 -
yy8093:
commonj 第三步,那个调用的方法要在哪里调?servle ...
JAVA中多种计时器的比较与分析 -
di1984HIT:
学习了,不错~
web.xml里<filter-mapping>中的<dispatcher>作用 -
penkee:
com.lowagie.text.DocumentExcept ...
iText中输出 中文 -
氵壞男亼乀:
我想请问下 你哪个html里面引入的几个js文件没看懂!你 ...
DWR入门教程之HelloWorld
介绍
计时器可以提供运行基于时间的工作任务的功能,在计时器的管理下,特定的任务可在某一时间运行一次,也可以按指定的时间间隔反复运行。在众多厂商提供的计时器中应用得比较多的有以下三种:
● java.util.Timer
Sun JDK 提供的一种轻量级的计时器。
● Commonj Timer
IBM 和 BEA 联合制定和推出的一种适用于 J2EE 环境的计时器。
● WebSphere Application Server Scheduler
IBM WebSphere Application Server 提供的一种功能强大的计时器。
java.util.Timer
java.util.Timer 是 Sun JDK 提供的一种计时器,用于使后台线程按计划执行指定任务,这些任务可以被执行一次,也可以被定期执行。每个 Timer 对象对应一个后台线程,顺序地执行所有计时器任务。如果完成某个计时器任务的时间太长,那么它会“独占”计时器的任务执行线程,从而可能延迟后续任务的执行。对 Timer 对象最后的引用完成并且所有未处理的任务都已执行完成后,计时器的任务执行线程会正常终止(并且成为垃圾回收的对象)。以下为一个使用 java.util.Timer 的例子:
java.util.Timer 简单易用,比较适合提供轻量级的计时器功能。由于其创建的线程会超出容器的管理范围,因此不能应用于管理的环境中。如果用户需要在 J2EE 环境中提供计时器功能,可考虑使用后面即将介绍的 Commonj Timer 或 WebSphere Application Server Scheduler。
Commonj Timer
Commonj Timer 是 Commonj 规范的一部分,它由 IBM 和 BEA 联合制定和推出,用以更好的响应客户和独立软件商的需求,给开发人员在开发可移植的服务端应用程序时提供一些更加简单和功能更加强大的方法。这个规范主要包括以下几个部分:Service Component Architecture,Service Data Objects,Work Manager and Timer 和 Enterprise Metadata Discovery。其中,Work Manager and Time 为在应用服务器中支持并发任务的执行提供了一些简单 API。这使用户可以方便地在 Servlet 和 EJB 中执行并发的计划任务,从而提高呑吐量,缩短服务端程序的响应时间,很好地解决了在 J2EE 环境中执行用户自定义的多线程并发与计时器服务的问题。
Commonj Timer API 包括三个接口:TimerManager, Timer 和 TimerListener。应用程序可以通过 TimerManager 来定期调用 TimerListener。每个 TimerManager 的 shcedule 方法返回一个 Timer 对象。用户可以通过 TimerManager 的 JNDI 名称在管理环境的上下文中查找 TimerManager。
用户可以通过以下三步来使用 Commonj Timer:
1. 在 web.xml 或者 ejb-jar.xml 中增加 Timer 的描述:
2. 实现 TimerListener 接口:
3. 查找 TimerManager,调用 TimerListener,初始化任务并设置时间:
Commonj Timer 提供了一种在 J2EE 环境中使用计时器的方法,它解决了 java.util.Timer 创建的线程超出容器管理范围的问题。由于它不同于 JMX Timer Service 与 JMX framework 之间的紧耦合,从而提供了更加友好和独立的 API。 Commonj Timer API 中的 timer 是瞬时的、非事务性的,并且运行于创建它的 JVM 中,因此对于对持久性、事务性和可恢复性有要求的集群环境并不适合。
IBM WebSphere Application Server Scheduler
IBM WebSphere Application Server Scheduler 是一种功能全面的定时器服务,提供了在 WebSphere Application Server 中配置、管理和开发基于时间的工作任务的功能,能够使 J2EE 操作具有高性能、持久性以及事务性等特征。Scheduler 具有以下优点:
● 易于管理
Scheduler 的创建、更新、调度、验证以及监控等任务是 WebSphere Application Server 中的管理控制台进行配置的,可在单个服务器、集群、节点或单元中创建 Scheduler。每个配置后的 Scheduler 拥有唯一的 JNDI 名称、持久存储设备和守护程序。
图 1. WebSphere Application Server 管理控制台中的 Scheduler 配置面板
● 具有持久性和事务健壮性
Scheduler 任务可以通过存入关系数据库的方式被持久化,因此可以保证长期多次的运行。轮询守护程序使用这个数据库来确定哪些任务要运行以及什么时候运行。
● 具有灵活的时间定制方式
Scheduler 任务依据用户指定的日历在某一时间开始执行一次或多次任务,用户可根据需要订制自己的日历。
● 具有扩展性
当 Scheduler 服务运行于集群环境的时候,可以通过负载均衡管理提高性能和可用性。
图 2. 集群环境
评论
发表评论
-
百万级访问量网站的技术准备工作
2010-12-29 19:35 1422当今从纯网站技术上来说,因为开源模式的发展,现在建一个小 ... -
Java EE Productivity Report 2011
2010-12-21 17:02 1585What happens when over 1000 J ... -
java.util.prefs.Preferences 简介
2010-04-23 14:07 4420Version 0.2 Cop ... -
An Introduction to LDAP
2010-04-13 16:24 1010An Introduction to LDAP Mich ... -
Java Interface 是常量存放的最佳地点吗?
2009-08-21 18:21 1202由于java interface中声明 ... -
Java的内存泄漏
2009-08-20 22:50 1261Java是如何管理内存 为了判断Java中是否有内 ... -
Transform XML into HTML using XSLT
2009-08-20 12:14 1778[howto.xml] <?xml versio ... -
eclipse 无法启动 JVM terminated. Exit code=-1
2009-08-09 13:52 2411eclipse 无法启动 JVM terminated. ... -
SDO ,WorkMananger,CommonJ overview
2009-07-06 10:51 1249Service Data Objects (SDO) -- P ... -
Apache common io overview
2009-07-05 20:28 3826Apache 里面包含了太多有用的项目,值得我们仔细研究。恰当 ... -
Hashtable和HashMap的区别 Vector、ArrayList和List的异同(笔记)
2009-07-04 08:10 1850Hashtable和HashMap的区别:1.Hashtabl ... -
Java: System Properties
2009-05-25 11:10 2000From System Properties you ca ... -
SSL证书转换
2009-05-18 17:33 8450PKCS 全称是 Public-Key Cryptogra ... -
Keystores and Truststores
2009-05-18 14:39 2613Keystores and Truststores ... -
google app engine 是什么?
2009-04-08 18:50 3186Google是个真正能不断的 ... -
如何输入版权符号 copyright
2009-04-08 13:21 12166Unicode Character 'COPYRIGH ... -
深入浅出URL编码
2009-04-05 13:31 1081版权声明:如有转载请 ... -
Java IO一览
2009-04-04 12:23 1625对于我们常用的GBK中,英文是占用1个字节,中文是2个 对于 ... -
字节流与字符流的区别
2009-04-04 12:13 15037最近在项目中遇到一个encoding的问题,记录一下。 ... -
深入了解Unicode
2009-04-02 00:31 1643Unicode (统一码 、万国 ...
相关推荐
java写的计时器,可手动输入起始时间与终止时间,只有一个数,比较简单,多线程实现,适合初学者
上班闲着无聊做了一个JAVA版的GUI计时器,包括了中午的打卡时间、下午的下班时间、周末的倒计时和当天已加班的时间。后续又整合了国内各个能放假的节日倒计时(包括春节、中秋等农历节日)。最后 实在是闲着没事 做...
java倒计时器代码,主要是怎样利用java来编写倒计时器的代码。欢迎下载和分享!
一个java 计时窗口的代码例子 一个java 计时窗口的代码例子 一个java 计时窗口的代码例子
java写的倒计时小程序,包含一个JAR文件双击可运行,供初写JAVA者学习
用java编写的计时器,非常简单额,……
这是一个倒计时器的工程,下边的jar文件是打包好的程序,可以使用,也可以自行修改程序。 30秒字体变红。 支持计时前准备时间。
java 计时器用法 GregorianCalendar用法
一个小计时器,用来进行计时的,简单的java写的
秒表类(MyStopWatch) 功能: 1.启动计时器 2.停止计时器 3.暂停计时 4.恢复被暂停的秒表 5.分段计时
java计时器,设置定时任务,执行该任务
一个简单界面的JAVA倒计时器,适合新手学习,代码简单
JAVA写的简单的倒计时器,可以多组倒计时
使用java编写的小型计时器,可以用来计算当月上网时间,能最小化到托盘,并且有倒计时功能,时间一到可自动弹出等。
Java计时器[文].pdf
将Timer.jar放入 开始->所有程序->启动 这个文件夹中 当你下次开机时它将自动启动从而开始计时 在C:\TimeLog文件夹下就可以看到记录日志
这事一个用java编写的计时器,具有一般的时钟功能,但还是过于简陋,希望您看过后加以完善
精典小例:程序的任务是:使用计时器使程序从开始运行后每隔3秒在控制台打印出系统当前时间,配有源码
一个简易的Java计时器,可以试着去做一做