ejb3提供了,定时执行某项任务的功能
实现步骤:
1 . 创建一个sessionbean 和对应的接口 这个没什么特殊,跟以往一样
2. 获取一个sessionContext对象
3 . 在sessionContext中get到TimerService
4. 在TimeService中获取到Timer对象,创建该对象时候第一个参数代表定时任务开始执行的时间(精确到毫秒),第二个参数代表建个多久,第三个为传入的参数(这个参数在执行任务的时候可以取到)
5.写一个方法,名称规则为public xxx(Timer timer)
6. 用annotation Timeout修饰这个方法
代码实现
package com.foshanshop.ejb3.timer;
publicinterface TimerService
{
publicvoid scheduleTimer(long milliseconds);
}
package com.foshanshop.ejb3.timer;
import java.util.Date;
import javax.annotation.Resource;
import javax.ejb.Remote;
import javax.ejb.SessionContext;
import javax.ejb.Stateless;
import javax.ejb.Timeout;
import javax.ejb.Timer;
@Stateless
@Remote({TimerService.class})
publicclass TimerServiceBean implements TimerService
{
intcount = 0;
public@Resource SessionContext sctx;
publicvoid scheduleTimer(long milliseconds)
{
sctx.getTimerService().createTimer(new Date(new Date().getTime()+milliseconds),milliseconds,"我的第一个定时器");
System.out.println("begin");
}
@Timeout
publicvoid timeoutHandler(Timer time)
{
System.out.println("定时器发生"+time.getInfo());
count++;
if(count>5)
time.cancel();
}
public SessionContext getSctx()
{
returnsctx;
}
publicvoid setSctx(SessionContext sctx)
{
this.sctx = sctx;
}
}
执行结果
11:03:15,750 INFO [STDOUT] begin
11:03:16,750 INFO [STDOUT] 定时器发生我的第一个定时器
11:03:17,765 INFO [STDOUT] 定时器发生我的第一个定时器
11:03:18,750 INFO [STDOUT] 定时器发生我的第一个定时器
11:03:19,750 INFO [STDOUT] 定时器发生我的第一个定时器
11:03:20,750 INFO [STDOUT] 定时器发生我的第一个定时器
11:03:21,750 INFO [STDOUT] 定时器发生我的第一个定时器
分享到:
相关推荐
《EJB3.0入门经典》是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。《EJB3.0入门经典》内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发...
ejb3.0入门图文教程,包括EJB3.0开发Entity.pdf、EJB3.0开发Message Driven Bean.pdf、EJB3.0开发Session Bean.pdf
罗时飞精通EJB3.0.zip.001 罗时飞精通EJB3.0.zip.002 罗时飞精通EJB3.0.zip.003 《精通EJB3.0》共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和...
罗时飞精通EJB3.0.zip.001 罗时飞精通EJB3.0.zip.002 罗时飞精通EJB3.0.zip.003 《精通EJB3.0》共分为4个部分:第一部分对EJB编程基础进行介绍,概要性地对EJB进行了阐述;第二部分重点关注EJB编程的具体内容和...
EJB3.0中文文档,实例教程.EJB3.0中文文档,实例教程.EJB3.0中文文档,实例教程.EJB3.0中文文档,实例教程.
期待已久的 EJB3.0 最终规范已经发布了。虽然 EJB3.0 最终规范出来了一段时间,但对 EJB3.0 的应用还停留在介 绍之中,应用实例更是少之又少,所以作者拟写本书,以简单的实例展现 EJB3.0 的开发过程,希望对大家有所...
ejb3.0开发规范,开发ejb3.0过程中的参考文档
weblogic+ejb3.0weblogic+ejb3.0weblogic+ejb3.0weblogic+ejb3.0weblogic+ejb3.0weblogic+ejb3.0weblogic+ejb3.0
ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全ejb 3.0 jar 包 很全
EJB 3.0实例教程.pdf EJB 3.0实例教程.pdf
本书面向EJB 3.0的实际应用开发,通过大量的实例,循序渐进地为读者介绍了有关EJB 3.0开发所涉及的各类知识。全书共分16章,内容依次包含了Java EE概述、EJB基础、搭建EJB环境、会话bean、持久化实体、持久化实体...
本书是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。 本书内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发技术的同时,精心设计了与...
EJB3.0规范和EJB3.0经典入门(含源码) 本材料适合Java程序员、项目经理和系统架构师。学习本材料,您不需要EJB2.x知识,如果具备一些Web和jdbc知识,学习效率会更快些。学习本材料,初级Java程序员应在1个月左右,...
本书是关于EJB 3.0的专业技术教程,从实用的角度出发,理论联系实际,用9章的篇幅详细讲解了EJB 3.0开发的方法和技巧。 本书内容丰富,讲解由浅入深,全面系统,在讲解EJB 3.0最新开发技术的同时,精心设计了与...
ejb3.0开发实例,会话bean开发,完整代码,适合入门学者
EJB 3.0 开发指南之定时服务非常经典
EJB3.0规范 EJB3.0 SPECIFICATION 官方规范英文版
EJB3.0入门图文教程电子书,Jbuilder 2007,新版JBuilder2007基于Eclipse平台,与以往的JBuilder版本完全不 同.借助于Eclipse的开放平台以及丰富的插件,使得JBulider对当前的流行的框架支持非 常好,同时支持EJB3.0的...
精通EJB3.0 pdf
ejb2.0 ejb3.0的区别,比较详细讲解两者的区别