J2EE组件开发 消息驱动的EJB

豆豆网   技术应用频道   2007年10月29日  【字号: 收藏本文

内容摘要:Java消息服务(Java Message Service,JMS)是一个Java API,它定义了消息的客户程序如何以一种标准化的形式与底层的消息服务提供者交互。JMS提供了一种接口,底层消息服务提供者通过该接口向客户程序提供JMS消息服务。

  当队列接收到一个消息,EJB容器将调用消息驱动Bean的onMessage()方法。在SimpleMessageBean类中,onMessage()方法把接收到的消息定型(cast)成为TextMessage类型,然后显示出文本信息:

public void onMessage(Message inMessage) {
  
TextMessage msg = null;
try {
if (inMessage instanceof TextMessage) {
msg = (TextMessage) inMessage;
System.out.println("MESSAGE BEAN:收到消息: "
+ msg.getText());
} else {
System.out.println("消息类型错误: "
+ inMessage.getClass().getName());
}
} catch (JMSException e) {
e.printStackTrace();
mdc.setRollbackOnly();
} catch (Throwable te) {
te.printStackTrace();
} }

  消息驱动Bean的ejbCreate()方法和ejbRemove()方法必须符合以下要求:

  访问控制修饰符必须是public。

  返回值类型必须是void。

  不能有static和final修饰符。

  throws子句不能定义任何应用自定义的异常。

  不能带有参数。

  在SimpleMessageBean类中,ejbCreate()方法和ejbRemove()方法都是空的,不执行任何有实际意义的操作。

  5.3 打包

  接下来我们要把上面的应用打包成一个J2EE EAR文件。首先要把SimpleMessageEJB打包成Jar文件。通常,打包过程可以通过工具完成,但理解模块部署描述器仍是必要的。在EJB应用模块部署描述器中,顶级元素下面包含元素。下面可以包含一组元素(按照EJB 2.0新规范),每一个元素描述一个消息驱动Bean的配置和部署。SimpleMessageEJB的ejb-jar.xml文件如下所示。元素内定义了消息驱动Bean的配置和部署信息,例如唯一的Bean名字、Bean类的名字、配置参数、安全信息、事务信息、消息目的地类型等。

责编:豆豆技术应用

正在加载评论...