`
isiqi
  • 浏览: 16491681 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

JBoss IDE 开发EJB3.0 Message Driven Bean

阅读更多

一. 准备开发环境

JBoss IDE 1.5GA, JBoss IDE是JBoss公司对Eclipse的增强,包括EJB3.0,JBPM,JBoss AOP,FreeMaker等等插件,对于JBoss产品的开发,是非常方便的。可以去Jboss.org网站下载.

Ecliose WTP插件,这是开发Java EE项目插件,这里用来开发一个web项目,来测试Message Driven Bean.

JBoss 4.04GA,可以从Jboss.org网站下载,安装版,zip版都可以.

二. 新建EJB3.0工程

选择菜单New | Project...,在弹出对话框中,选择EJB 3.0 Project



单击[Next]按钮,填写工程名称EJB3Demo2



单击[Next]按钮,选择JBoss配置

我们这里还没有配置,因此选择[create a jboss configuration]按钮,新建JBoss配置.

选择JBoss4.0.x,并单击[New]按钮



按下图 输入配置名称,JBoss 安装目录,Server Configuration选择default



单击[Apply]按钮,然后单击[Close]按钮

单击[Finish]按钮,完成.

三.新建Message Driven Bean

单击右键,选择New | Other...



在弹出对话框中,选择EJB3.0 | Message Driven Bean



单击[Next]按钮,输入包名,类名等

单击[Finish]按钮完成.

四. 完成Message Driven Bean的代码

4.1 设置ConnectionFactory和Queue

ConnectionFacoty使用JBoss默认的ConnectionFactory,因此不用设置。

设置Queue方式如下:

找到jbossmq-destinations-service.xml文件,该文件在jboss安装目录\server\default\deploy\jms下.在文件最后,加入下面代码,新增一个Queue.

<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>





4.2 完成代码

设置好Queue后,编辑HelloMDB.java,加入Connection和Queue说明.

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) {

e.printStackTrace();

}

}

}

}

4.3导出jar包

选择菜单File | Export,弹出对话框选择JAR File



单击[Next]按钮.选择jar包导出的位置


单击[Finish]按钮,完成导出

五. MDB的部署与测试

5.1 部署EJB

把我们刚才导出的jar文件.放到JBoss安装目录下的server\default\deploy

ok,ejb部署好了.下面我们写一个servlet测试一下

5.2 测试EJB

5.2.1新建动态web项目

选择菜单 File | new | Project ,在弹出对话框中选择web|Dynamic Web Project





单击[Next]按钮,填写工程名称

单击{Finish]按钮,完成.

5.2.2 新建Servlet

单击右键.选择New | Servlet





弹出对话框中,按下图填写

单击[Finish]按钮完成

5.2.3 TestServletdoGet方法中,编写测试EJB的代码

TestServlet.java内容如下

package test;


import java.io.IOException;


import javax.jms.JMSException;

import javax.jms.Queue;

import javax.jms.QueueConnection;

import javax.jms.QueueConnectionFactory;

import javax.jms.QueueSender;

import javax.jms.QueueSession;

import javax.jms.Session;

import javax.jms.TextMessage;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.naming.NamingException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


public class TestServlet extends javax.servlet.http.HttpServlet implements

javax.servlet.Servlet {

private static final long serialVersionUID = 1L;


protected void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

try {

//得到上下文

Context ctx=new InitialContext();

//得到ConnectionFacory

QueueConnectionFactory connFacotry=

(QueueConnectionFactory)ctx.lookup("ConnectionFactory");

//得到消息队列

Queue queue=(Queue)ctx.lookup("queue/testQueue");

QueueConnection queueConn=connFacotry.createQueueConnection();

QueueSession queueSession =

queueConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

QueueSender queueSender =queueSession.createSender(queue);

//组装消息

TextMessage txtMsg=queueSession.createTextMessage();

txtMsg.setText("Luo Daijun");

queueSender.send(txtMsg);

//关闭资源

queueSender.close();

queueSession.close();

queueConn.close();

} catch (NamingException e) {

e.printStackTrace();

} catch (JMSException e) {

e.printStackTrace();

}

}


protected void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

}

}


5.2.4 运行TestServlet,测试效果 ^_^

右键, 选择 Run As | Run on server

选择JBoss 4.0 for EJB3.0



单击[Finish]按钮,完成



打开IE浏览器,输入 http://localhost:8080/TestEJB/TestServlet

嗯..看看JBuilder 的控制台吧



嗯.结束
分享到:
评论

相关推荐

    EJB3.0开发Message Driven Bean

    ### EJB3.0开发Message Driven Bean #### 一、概述 Enterprise JavaBeans (EJB) 是一种基于Java的应用程序编程接口(API),用于开发分布式企业级应用。EJB3.0作为Java EE5规范的一部分,引入了许多简化开发的新特性...

    ejb3.0入门图文教程

    接下来,《EJB3.0开发Message Driven Bean.pdf》将引导你了解消息驱动bean(MDB)。MDB是一种特殊类型的session bean,专门用于处理JMS(Java Message Service)消息。在企业级应用中,当系统需要异步处理大量数据...

    JBoss下EJB3.0实例教程(黎活明)

    - 使用IDE如Eclipse或IntelliJ IDEA,这些工具通常集成了对EJB3.0和JBoss的支持,可以方便地创建、部署和调试EJB项目。 - 利用JBoss提供的管理控制台或命令行工具,监控和管理EJB的运行状态。 6. 示例代码: - ...

    EJB3.0开发入门 Step by Step (图文讲解)

    **EJB3.0开发入门 Step by Step** Enterprise JavaBeans(EJB)是...通过阅读"EJB3.0开发Entity.pdf"、"EJB3.0开发Session Bean.pdf"和"EJB3.0开发Message Driven Bean.pdf",你将能深入学习并掌握EJB3.0的相关知识。

    Jboss EJB3.0教程

    ### JBoss EJB3.0 教程知识点详解 #### 一、教程适用人群与目的 ...综上所述,本教程不仅提供了EJB3.0的核心技术理论,还结合了大量的实践案例,旨在帮助读者全面掌握JBoss环境下EJB3.0的开发技能。

    EJB3.0入门教程 PDF

    2. **消息驱动Bean(Message-Driven Beans)** - 用于处理Java消息服务(JMS)消息,实现异步处理。 3. **实体Bean(Entity Beans)** - 代表持久化的数据对象,通常映射到数据库中的表。EJB 3.0引入了基于JPA...

    EJB3.0详解

    在开发EJB3.0应用时,通常需要一个支持EJB的服务器,如Jboss、WebLogic或Glassfish等。Tomcat服务器由于定位轻量级,不支持EJB。开发者可以使用集成开发环境(IDE),如Eclipse或MyEclipse,它们提供了对EJB3.0的...

    EJB3.0__EJB3.0

    2. **Message Driven Bean(MDB)**:用于处理消息队列(JMS)中的消息,常用于异步处理。 3. **Entity Bean**:代表应用程序中的持久化数据,通常映射到数据库表。EJB3.0引入了注解驱动的JPA(Java Persistence ...

    jboss EJB3.0实例教程

    【EJB3.0开发实践】 在JBoss应用服务器中部署和运行EJB3.0应用通常涉及以下步骤: 1. **创建EJB项目**:使用IDE如Eclipse或IntelliJ IDEA创建一个新的Java EE项目,选择EJB模块。 2. **定义bean**:编写EJB类,...

    EJB3.0开发文档+工具

    - **消息驱动Bean(Message-Driven Beans)**:通过JMS(Java Message Service)监听消息队列,实现异步处理。 - **依赖注入(Dependency Injection)**:通过`@EJB`注解,可以实现组件间的依赖管理,简化了对象...

    最新EJB 3.0实例教程

    在开始EJB 3.0开发之前,你需要先安装支持EJB 3.0的Java EE服务器,如JBOSS。下载并安装JBOSS服务器后,配置服务器以支持EJB部署。这通常涉及到设置环境变量,配置服务器配置文件,例如`standalone.xml`或`domain....

    EJB3.0源代码,包含会话Bean,实体Bean,还有消息Bean

    - EJB 3.0应用需要在支持Java EE 5或更高版本的应用服务器上运行,如JBoss, GlassFish, WebLogic等。 - 部署描述符(如`ejb-jar.xml`)通常会自动由编译器或IDE生成,简化了部署过程。 6. **学习资源与实践** - ...

    JBOSS EJB3.0实例教程

    本教程《JBoss EJB3.0 实例教程》由黎活明编写,适用于希望深入了解Java企业级开发中EJB3.0组件使用的开发者们。无论是初学者还是有一定经验的开发人员,都能从中获得有价值的信息。 **1.1 本教程适合人群** - Java...

    ejb3.0及JBoss配置运行动画全过程

    在实际操作中,可能是一个EJB 3.0开发环境的启动器,或者是与JBoss相关的配置工具。 理解EJB 3.0和JBoss的配置运行过程对Java EE开发者至关重要,因为这涉及到企业级应用的开发、部署和管理。掌握这一技能可以帮助...

    EJB 3.0 入门图文教程

    3.7 @MessageDriven:标记一个类为消息驱动Bean。 四、EJB 3.0部署与运行 4.1 部署描述符:EJB 3.0显著减少了XML部署描述符的使用,许多配置可以通过注解完成。 4.2 容器管理:EJB容器负责Bean的生命周期管理,...

    EJB3.0教程

    EJB3.0通过注解来定义Bean的角色和行为,如`@Entity`、`@Stateless`、`@Stateful`、`@MessageDriven`等。此外,注解还能用于标注字段以实现数据持久化,如`@Id`、`@GeneratedValue`、`@Column`等。 ### 4. JPA和...

    EJB3.0容器模型的WEB服务-WebService

    同时,使用诸如Eclipse, NetBeans这样的IDE,可以提供EJB 3.0的集成开发环境,包括代码生成、调试和部署等辅助功能。 **总结** EJB 3.0容器模型通过简化API和引入注解,极大地提高了开发效率。其与Web服务的紧密...

    04.最新EJB 3.0实例教程.rar

    - **环境搭建**:包括JDK、应用服务器(如JBoss、GlassFish)、EJB 3.0兼容的IDE(如NetBeans、Eclipse)的安装和配置。 - **基本概念讲解**:对EJB 3.0中的实体Bean、会话Bean、消息驱动Bean的概念进行详解。 - *...

    EJB3.0(PDF)电子书

    #### 消息驱动Bean (Message Driven Bean) - **基础概念**: 介绍消息驱动Bean的基础知识和应用场景。 - **配置和使用**: 学习如何配置和使用消息驱动Bean。 #### 实体Bean (Entity Bean) - **配置文件PERSISTENCE....

Global site tag (gtag.js) - Google Analytics