开发消息驱动的 Bean

可以为 Enterprise JavaBeans 规范引入的消息驱动的 Bean 开发 Bean 实现类。消息驱动的 Bean (MDB) 是实现业务逻辑并在服务器上运行的消息使用者。

开始之前

确定要用于应用程序的与使用主题、队列、生产者和使用者、发布或预订等有关的消息传递模型。您可以参考 Enterprise JavaBeans™ 规范中描述的消息驱动的 Bean 组件合同。

关于此任务

消息驱动的 Bean (MDB) 是来自 Java™ 消息服务 (JMS) 提供程序的消息的使用者。当消息到达某个 MDB 维护的目标或端点时,将调用该 MDB。MDB 实例是匿名的,因此,所有实例在未积极地维护客户机消息时都是等价的。容器控制 Bean 实例的生命周期,这些实例在任何状态下对于客户机都不可视。

以下示例是一个基本消息驱动的 Bean:

@MessageDriven(activationConfig={
                @ActivationConfigProperty(propertyName="destination",     propertyValue="myDestination"),
                @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue")
})
public class MsgBean implements javax.jms.MessageListener {

  public void onMessage(javax.jms.Message msg) {

      String receivedMsg = ((TextMessage) msg).getText();
      System.out.println("Received message: " + receivedMsg);

   }

}
与其他企业 Bean 类型一样,您也可以在部署描述符中声明消息驱动的 Bean 的元数据,而不是使用注释进行声明,例如:
<?xml version="1.0" encoding="UTF-8"?>

<ejb-jar id="EJBJar_1060639024453" version="3.0"
      xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"
      metadata-complete="false">
  <enterprise-beans>

    <message-driven>

      <ejb-name>MsgBean</ejb-name>
      <ejb-class>com.acme.ejb.MsgBean</ejb-class>
      <activation-config>
         <activation-config-property>
            <activation-config-property-name>destination</activation-config-property-name>
            <activation-config-property-value>myDestination</activation-config-property-value>
         </activation-config-property>
         <activation-config-property>
           <activation-config-property-name>destinationType</activation-config-property-name>
           <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
        </activation-config-property>
      </activation-config>

    </message-driven>

  </enterprise-beans>
</ejb-jar>
注:WebSphere® Application Server V9 中,destinationLookup 属性还可以用于替代 destination 激活配置属性。这两个激活配置属性的用途相同,即为 MDB 设置目标 JNDI 名称。但是,当配置中同时定义了这两个激活属性时,destinationLookup 属性优先于 destination 属性。

过程

结果

您已开发了一个简单的消息驱动的 Bean 以及一些部署和打包选项。

下一步做什么

请阅读有关设计一个使用消息驱动的 Bean 的企业应用程序的相关信息。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_mdb
文件名:tejb_mdb.html