EJB 3.0 开发指南之定时服务

儿童摄影总动员

儿童摄影总动员

2016-01-29 13:01

EJB 3.0 开发指南之定时服务,EJB 3.0 开发指南之定时服务
  在EJB2.1的规范中需要实现ejbTimeout方法,当然还有ejbPassivate、ejbRemove等方法。在EJB3.0中,只有你想用它们的时候,你才必须创建它们,否则不必实现。

  这个例子主要有5个文件,这个例子的Bean是一个无状态会话Bean:

  NewsTimer.java:业务接口。

  NewsTimer.java:业务实现类。将来我们开发的EJB也都是这样命名(在接口名上加上Bean)。

  Client.java:测试EJB的客户端类。

  jndi.properties:jndi属性文件,提供访问jdni的基本配置属性。

  Build.xml:ant 配置文件,用以编译、发布、测试、清除EJB。

  下面针对每个文件的内容做一个介绍。

  NewsTimer.java

  package com.kuaff.ejb3.schedule;
  import javax.ejb.Remote;
  @Remote

  public interface NewsTimer
  {
  public void fiveNews();
  }

  这个接口定义了fiveNews方法,如果这个方法被调用,5分钟后将往控制台上输出一条新闻。

  你不必配置它的JNDI名称,也不必写它的配置文件。在JBOSS实现的EJB3.0中,你不必写任何的EJB部署文件和jboss部署文件。JBOSS默认使用接口的全称作为它的JNDI名。在上面的例子中,它的全称可以通过NewsTimerclass.forName()得到。

  NewsTimerBean.java

  package com.kuaff.ejb3.schedule;
  import java.util.Date;
  import javax.ejb.Inject;
  import javax.ejb.SessionContext;
  import javax.ejb.Stateless;
  import javax.ejb.Timer;

  @Stateless

  public class NewsTimerBean implements NewsTimer
  {
  private @Inject SessionContext ctx;
  public void fiveNews()
  {
  ctx.getTimerService().createTimer(new Date(new Date().getTime() + 300000), "子虚乌有电视台5分钟新闻栏目:现在过5分钟,又到即时新闻节目的时间了。");
  }

  public void ejbTimeout(Timer timer)
  {
  System.out.printf("时间到:%n%s%n" , timer.getInfo());
  timer.cancel();
  }
  }

  Client.java

  package com.kuaff.ejb3.schedule;

  import javax.naming.InitialContext;
  import javax.naming.NamingException;

  public class Client
  {
  public static void main(String[] args) throws NamingException
  {
  InitialContext ctx = new InitialContext();
  NewsTimer timer = (NewsTimer) ctx.lookup(NewsTimer.class.getName());
  timer.fiveNews();
  }
  }

  这个类用来测试我们发布的计数器EJB。首先通过

  ctx = new InitialContext();

  得到上下文,然后通过lookup查找NewsTimer,然后启动计时。。

  请运行{$JBOSS_HOME}/bin目录下的run.bat: run –c all,启动JBOSS。

  在Eclipse的Ant视图中执行ejbjar target。或者在命令行下,进入到此工程目录下,执行ant ejbjar,将编译打包发布此EJB。

  在Eclipse的Ant视图中执行run target。或者在命令行下,进入到此工程目录下,执行ant run,测试这个EJB。
展开更多 50%)
分享

猜你喜欢

EJB 3.0 开发指南之定时服务

Java JAVA基础
EJB 3.0 开发指南之定时服务

EJB 3.0开发指南之依赖注入

Java JAVA基础
EJB 3.0开发指南之依赖注入

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

EJB 3.0开发指南之消息驱动Bean

Java JAVA基础
EJB 3.0开发指南之消息驱动Bean

EJB 3.0 开发指南之依赖值对象

Java JAVA基础
EJB 3.0 开发指南之依赖值对象

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

EJB 3.0开发指南之多表映射

Java JAVA基础
EJB 3.0开发指南之多表映射

EJB 3.0 开发指南之实体Bean

Java JAVA基础
EJB 3.0 开发指南之实体Bean

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

[VBA]在后台删除工作表后出现的怪问题

[VBA]在后台删除工作表后出现的怪问题

PHP程序之服务器负载测试

PHP程序之服务器负载测试
下拉加载更多内容 ↓