定时服务用作在一段特定的时间后执行某段程序

使用容器对象SessionContext创建定时器,并使用@Timeout 注释声明定时器方法

通过依赖注入@Resource SessionContext ctx,获得SessionContext对象,调用ctx.getTimerService().createTimer(Date arg0, long arg1, Serializable arg2)方法创建定时器,

当定时器创建完成后,还需声明定时器方法。定时器方法的声明很简单,只需在方法上面加入@Timeout 注释

package ejb;

public interface TimerTest {
 public void schedule(long m);
}

package ejb;

import javax.ejb.Stateless;
import javax.ejb.Remote;
import javax.ejb.SessionContext;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.annotation.Resource;
import Java.util.Date;

import ejb.TimerTest;

@Remote(TimerTest.class)
public @Stateless class TimerTestBean implements TimerTest {
 private @Resource SessionContext ctx;
 private int count = 0;
 public void schedule(long m){
  ctx.getTimerService().createTimer((new Date(new Date().getTime() + m)),m,"我是一棵葱!");
 }
 
 @Timeout
 public void timeoutHandle(Timer timer){
  System.out.println(timer.getNextTimeout() + " " + count + " " + timer.getInfo());
  count ++;
  if(count > 5){
   System.out.println("Timer canceled!");
   timer.cancel();
   System.out.println("Timer canceled!");
  }
 }
}

客户端调用EJB服务时激活EJB的timer.

不过,感觉EJB的timer用处不大,还是最好在客户端启动定时器,然后定时调用ejb的服务比较好!

欢迎访问肖海鹏老师的课程中心:http://edu.51cto.com/lecturer/user_id-10053053.html

欢迎加入肖海鹏老师技术交流群:2641394058(QQ)

转载于:https://blog.51cto.com/xiaogong1688/1949653

EJB3.0 定时服务:Timer Service相关推荐

  1. EJB3.0定时发送jms(发布/定阅)方式

    EJB3.0定时发送jms(发布/定阅)方式 介绍: 定时器分为两种:single-action Timer(单动定时器)和interval  Timer(间隔定时器). 为了使用定时服务,1.ent ...

  2. Jboss EJB3.0实例教程

    Jboss EJB3.0实例教程 第一章 前言............................................................................. ...

  3. Jboss EJB3.0 实例教程

    第一章 前言.............................................................................................. ...

  4. WCF4.0新特性体验(6):路由服务Routing Service(下)

    紧接前文WCF4.0新特性体验(5):路由服务Routing Service(上).今天我们介绍WCF4.0消息路由的实现机制,然后会讲解路由服务的实现过程. [4]WCF与路由服务: 其实在介绍WC ...

  5. 万字长文梳理:从0开始,步入Service Mesh微服务架构的世界

    来源 | 无敌码农 责编 |贾凯强 头图 | 下载于视觉中国 新一代微服务架构--Service Mesh已经引发了诸多关注.在微服务架构盛行的今天,像Spring Cloud这样的微服务框架大家已然 ...

  6. Python循环定时服务功能(相似contrab)

    Python实现的循环定时服务功能.类似于Linux下的contrab功能.主要通过定时器实现. 注:Python中的threading.timer是基于线程实现的.每次定时事件产生时.回调完响应函数 ...

  7. C# windows定时服务+服务邮箱发送

    protected override void OnStart(string[] args){timer1 = new System.Timers.Timer();// timer1 = new Sy ...

  8. EJB3.0技术体系---学习笔记

    EJB3.0技术体系: 1.Enterprise Bean(企业Bean)理论及实例   Seession Bean   MDB 2.Persistence (JPA--数据持久化框架)   Enti ...

  9. python定时器 循环_Python循环定时服务功能(相似contrab)

    Python实现的循环定时服务功能.类似于Linux下的contrab功能.主要通过定时器实现. 注:Python中的threading.timer是基于线程实现的.每次定时事件产生时.回调完响应函数 ...

最新文章

  1. 来自codeblock 贴吧
  2. 十一.安装Redis
  3. Android m 自定义下拉菜单,Android实现动画效果的自定义下拉菜单功能
  4. 【转】VScode快捷键(超无敌详细版)
  5. Lighttpd 的安装配置(web服务器软件)
  6. vue 自定义marquee无缝滚动组件
  7. w2金融股票分析— matplotlib库
  8. 【LeetCode】Combination Sum(组合总和)
  9. 测试用例文档_如何设计测试用例
  10. Spark环境搭建(保姆级教程)
  11. WinSCP(Windows与Linux文件同步工具)使用总结
  12. 机器学习项目-金融反欺诈模型
  13. mysql基于PHP下的大学生校园交流论坛的设计与实现 毕业设计源码101634
  14. ttkefu如何下载访客的访问明细
  15. Windows 10推送的锁屏壁纸保存方法
  16. 计算机域名DNS设置,电脑设置和查看DNS域名服务器的技巧
  17. ue4树叶飘落动画_Android:使用属性动画制作器的类似于树叶的动画
  18. 事件分发机制怎么回答,不断提升自己创造溢价的能力,附带学习经验
  19. 关于计算机天赋测试,这是一道你绝没测过的测试题,能测出你的天赋究竟是什么...
  20. 通过u盘启动计算机使用ghost安装系统步骤,简单教程:如何使用u boot u盘安装ghost系统[教程]...

热门文章

  1. Tair的桶分布策略介绍及新的机器级位置安全优先策略实现
  2. Thrift在windows下的使用
  3. Talk O/RM (DAL) too ...
  4. 防治交换机窃听技术_等保2.0建设基本要求(技术部分)解读(下)
  5. Nmap扫描教程之DNS服务类
  6. Playmaker全面实践教程之简单的使用Playmaker示例
  7. 819 c语言程序设计,2018年大连海洋大学计算机科学与技术819高级语言程序设计(C语言)之C程序设计考研核心题库...
  8. windows java ekho_Vekou
  9. HTML做frame跳转设置响应头,X-Frame-Options header响应头如何配置
  10. 钉钉自定义机器人python_使用钉钉自定义机器人发送舔狗日记[70行][python]