JBoss IDE 开发EJB3.0 Message Driven Bean

本文介绍如何使用EJB3.0开发Message-Driven Bean (MDB),涵盖开发环境搭建、项目创建、MDB实现及部署测试全过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 准备开发环境

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 在TestServlet的doGet方法中,编写测试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 的控制台吧



嗯 . 结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值