日期:2014-05-16  浏览次数:20404 次

JavaEE5学习笔记06-EJB之消息驱动Bean(MDB)总结----1

1.????? 功能介绍

EJB的分类中还有一个就是消息驱动BeanMessageDrivenBean),百度的说明其实很到位。

消息驱动Bean(MDB) 是设计用来专门处理基于消息请求的组件。一个MDB类必须实现MessageListener接口。当容器检测到bean守候的队列一条消息时,就调用onMessage()方法,将消息作为参数传入。MDBOnMessage()中决定如何处理该消息。你可以用注释来配置MDB监听哪一条队列。当MDB 部署时,容器将会用到其中的注释信息。当一个业务执行的时间很长,而执行结果无需实时向用户反馈时,很适合使用消息驱动Bean。如订单成功后给用户发送一封电子邮件或发送一条短信等。消息驱动bean是一个异步消息使用者。当JMS消息到达时,容器激发消息驱动bean。消息驱动bean既没有本地接口也没有组件接口。消息驱动bean实例是一个消息驱动bean类的实例。对客户机来说,消息驱动bean是一个在服务器上实现某些业务逻辑的JMS消息使用者。客户机通过JMS发送消息到JMS Destination (QueueTopic)来访问消息驱动bean,而消息驱动bean类是JMS DestinationMessageListener

  消息驱动bean实例没有会话状态。这意味着当不涉及服务客户机消息时,所有的bean实例都是等同的。消息驱动bean是匿名的。它们没有客户机可视的标识。容器创建消息驱动bean实例来进行消息处理,而消息驱动bean是这些消息的使用者。其生命周期由容器控制。