创建消息驱动的 bean

可以使用“创建企业 Bean”向导来创建 EJB 2.0 或 EJB 2.1 消息驱动的 bean。

EJB 2.0 中引进了消息驱动的 bean 以支持处理来自 Java™ 消息服务(JMS)的异步消息。 EJB 2.1 规范扩展了消息驱动的 bean 的定义,以便能够支持任何消息传递系统,而不仅仅局限于 JMS。相应地,在 EJB 2.1 规范中,对用来定义消息驱动的 bean 的部署描述符元素作了更改。创建 EJB 2.1 消息驱动的 bean 的向导还包括其他页面,可用来有选择地定义非 JMS 消息传递系统及其激活配置元素。

有关 EJB 2.0 和 EJB 2.1 规范中消息驱动的 bean 的部署描述符条目示例,请参阅消息驱动的 bean 部署描述符示例

要创建 EJB 2.0 或 EJB 2.1 消息驱动的 bean,请执行以下操作:

  1. 在 J2EE 透视图中,单击文件 > 新建 > 其他 > EJB > 企业 Bean。将出现“创建企业 Bean”向导。
  2. 选择消息驱动的 bean 单选按钮。
  3. 选择想要向其添加 bean 的 EJB 组件。可以选择 EJB 2.0 或 EJB 2.1 项目。
  4. Bean 名称字段中,输入要指定给企业 bean 的名称。根据约定,Bean 名称应以大写字母开头。
    注: 您可以使用 Unicode 字符来作为 bean 名称,但是与企业 bean 相关联的企业 bean 包和类不支持 Unicode 字符。
  5. 源文件夹字段中,为新 bean 选择源文件夹。
  6. 缺省包字段中,输入新 bean 的包名称。
  7. 可选: 可以选择生成带注释的 bean 类 如果选择此选项,则向导会在 bean 类的 Java 代码开头生成注释。注释根据向导中所指定的内容来定义 bean 的实现。然后,EJB 工具使用这些注释生成必要的 bean 类,并提供插入到 EJB 部署描述符(ejb-jar.xml)中的值。如果您熟悉注释,且要使用注释而不是部署描述符来更新 bean,请选择此选项。如果选择了此选项,则其他选项可能会不可用。

    有关更多信息,请参阅基于注释的编程概述

  8. 单击下一步
  9. 对于 EJB 2.1 消息驱动的 bean,指定以下各项:
    1. 指定要用于消息驱动的 bean 的消息传递服务。
      • JMS 类型:如果要使用 JMS 消息传递服务,请选择此选项,将 javax.jms.MessageListener 类用作侦听器类型。
      • 其他类型:如果要使用非 JMS 或定制消息传递服务,请选择此选项。 在侦听器类型字段中,输入侦听器类的标准名称。
    2. 单击下一步
    3. 指定消息驱动的 bean 的详细信息。
      注: 如果要创建使用非 JMS 消息传递系统的 EJB 2.1 消息驱动的 bean,则某些选项不可用,但可以作为激活配置“名称-值”对进行手工定义。
      • 事务类型:可指定是由容器还是 bean 来管理 bean 的事务。
      • 激活配置:使用此表来配置其他属性。定义的每个“名称-值”对都会作为 <activation-config-property> 元素添加到部署描述符。对于使用 JMS 消息传递的 EJB 2.1 消息驱动的 bean,预定义的属性包括下列属性:
        acknowledgeMode
        值包含 Auto-acknowledgeDups-ok-acknowledge
        destinationType
        值包含 javax.jms.Queuejavax.jms.Topic
        messageSelector
        值由用户指定。
      • Bean 类:为 bean 类输入所需的包和类名。缺省情况下,向导根据您定义的 bean 名称和缺省包来建议 bean 类。bean 类可以是向导生成的新类,也可以是项目类路径中的现有类。单击按钮以打开一个对话框,该对话框列示了项目中与 bean 类型相对应的类。对于带有源代码的现有类,bean 类的名称显示为蓝色。对于现有二进制类,bean 类的名称显示为红色。
      • 消息目标链接:单击浏览以链接至消息目标。这将把一个 message-destination-link 元素添加至部署描述符中的 bean。如果选择生成带注释的 bean 类,则消息目标链接不可用。
    4. 单击下一步
    5. 可选: Bean 超类字段中,输入或选择期望的类。如果指定了 bean 超类型,则会禁用此字段。
    6. 单击完成 在部署描述符中会生成和定义新的 bean。
  10. 对于 EJB 2.0 消息驱动的 bean,指定以下各项:
    1. 指定消息驱动的 bean 的详细信息。注意:JMS 类型的消息传递暗示所有 2.0 消息驱动的 bean。
      • 事务类型:可指定是由容器还是 bean 来管理 bean 的事务。
      • 应答方式:对于 bean 管理的事务,可以指定会话对所接收消息的应答方式。选项有 Auto-acknowledgeDups-ok-acknowledge
      • 消息驱动的目标:选择队列主题目标类型
        • 队列 指定将使用点到点 JMS 消息传递模型。
        • 主题 指定将使用发布-预订 JMS 消息传递模型。
      • 耐久性:如果选择了类型为主题的类型消息,可指定主题预订是持久的还是非持久。
        • 持续:订户可使用 JMS 保留的唯一标识注册一个持续预订。具有同一标识的后续订户对象将以由先前订户所留下的状态继续预订。如果持续预订没有活动订户,则 JMS 将保留预订的消息,直到预订接收到这些消息或直到它们到期。
        • 不可持续:预订持续时间为订户对象的生存期。这意味着仅当主题的订户处于活动状态时,客户机才看得到针对主题发布的消息。如果订户不是活动的,则客户机将丢失针对其主题发布的消息。
      • Bean 类:为 bean 类输入所需的包和类名。缺省情况下,向导根据您定义的 bean 名称和缺省包来建议 bean 类。bean 类可以是向导生成的新类,也可以是项目类路径中的现有类。单击按钮以打开一个对话框,该对话框列示了项目中与 bean 类型相对应的类。对于带有源代码的现有类,bean 类的名称显示为蓝色。对于现有二进制类,bean 类的名称显示为红色。
      • 消息选择器:JMS 消息选择器用于确定消息 bean 接收哪些消息。
    2. 单击下一步
    3. 可选: Bean 超类字段中,输入或选择期望的类。如果指定了 bean 超类型,则会禁用此字段。
    4. 单击完成 在部署描述符中会生成和定义新的 bean。
可以使用 EJB 部署描述符编辑器的 Bean 页查看 bean 并更改或添加任何其他设置或扩展和绑定。

反馈