### EJB3.0开发Message Driven Bean (MDB)知识点详解 #### 一、EJB3.0与Message Driven Bean简介 EJB(Enterprise JavaBeans)是Java平台为企业级应用提供的一种组件模型,用于构建分布式系统中的业务逻辑。EJB3.0是Java EE 5规范的一部分,它简化了EJB的开发过程,并引入了许多新的特性。 **Message Driven Bean (MDB)** 是一种特殊的EJB组件,用于处理异步消息传递。MDB通常与Java消息服务(JMS)一起使用,以实现应用程序之间的消息交换。MDB可以监听消息队列或主题,并在接收到消息时执行相应的业务逻辑。 #### 二、准备开发环境 为了开发EJB3.0的MDB,首先需要准备以下工具和软件: - **JBoss IDE 1.5 GA**:它是Eclipse的一个插件集合,由JBoss公司提供,包含了一系列用于开发JBoss相关技术的工具,如EJB3.0、JBPM、JBoss AOP等。可以在JBoss官网下载。 - **Eclipse WTP插件**:Web Tools Platform,用于开发Java EE项目,特别是Web项目。这里将用于创建一个Web项目来测试MDB。 - **JBoss 4.0.4 GA**:Java EE容器,可以从JBoss官网下载。可以使用安装版或者解压后的ZIP版。 #### 三、新建EJB3.0工程 1. **创建新工程**: - 在Eclipse中选择“File”>“New”>“Project”; - 选择“EJB3.0 Project”,然后点击“Next”; - 填写工程名称,例如“EJB3Demo2”; - 选择JBoss配置,如果尚未配置,则需要创建一个新的JBoss配置。 2. **配置JBoss**: - 选择JBoss 4.0.x版本,并点击“New”按钮; - 输入配置名称,JBoss安装目录以及Server Configuration(这里选择"default"配置); - 完成配置后,点击“Apply”,然后点击“Close”。 3. **完成配置**: - 最后点击“Finish”按钮完成工程创建。 #### 四、新建Message Driven Bean 1. **创建MDB**: - 在项目上右键选择“New”>“Other”; - 选择“EJB3.0”下的“Message Driven Bean”选项; - 按照提示输入包名、类名等信息; - 完成后点击“Finish”。 2. **设置ConnectionFactory和Queue**: - **ConnectionFactory**:使用JBoss提供的默认ConnectionFactory即可,无需额外设置。 - **Queue**:需要在`jbossmq-destinations-service.xml`文件中添加一个Queue的定义。这个文件位于JBoss安装目录下的`server/default/deploy/jms`目录。 ```xml <mbean code="org.jboss.mq.server.jmx.Queue" name="jboss.mq.destination:service=Queue,name=myQueue"> <depends optional-attribute-name="DestinationManager"> jboss.mq:service=DestinationManager </depends> </mbean> ``` 3. **编写MDB代码**: - **接口实现**:MDB需要实现`javax.jms.MessageListener`接口。 - **注解配置**:使用`@MessageDriven`注解指定MDB的激活配置属性,例如目的地类型和名称。 - **处理消息**:实现`onMessage`方法,当MDB接收到消息时会调用此方法。 示例代码如下: ```java package demo; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.TextMessage; import javax.ejb.ActivationConfigProperty; import javax.ejb.MessageDriven; @MessageDriven(activationConfig={ @ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName="destination", propertyValue="queue/myQueue") }) public class HelloMDB implements MessageListener { public void onMessage(Message msg) { if (msg instanceof TextMessage) { TextMessage txtMsg = (TextMessage) msg; try { System.out.println("Hello " + txtMsg.getText() + ", MDB欢迎您!"); } catch (JMSException e) { // 处理异常 } } } } ``` #### 五、总结 本文介绍了如何使用EJB3.0开发Message Driven Bean(MDB),包括开发环境的搭建、EJB3.0项目的创建、MDB的创建及其代码实现。通过本文的学习,开发者可以了解并掌握如何使用EJB3.0进行MDB的开发,进而实现基于JMS的消息驱动业务逻辑。
- 粉丝: 1
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助