一. 准备开发环境

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和QueueConnectionFacoty使用JBoss默认的ConnectionFactory,因此不用设置。
设置Queue方式如下:
找到jbossmq-destinations-service.xml文件,该文件在jboss安装目录\server\default\deploy\jms下.在文件最后,加入下面代码,新增一个Queue. 
-  code="org.jboss.mq.server.jmx.Queue"  
- name="jboss.mq.destination:service=Queue,name=myQueue">  
-  optional-attribute-name="DestinationManager">  
- jboss.mq:service=DestinationManager  
-   
-   
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欢迎您!"); [Page]   
- } 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) { [Page]   
- 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]按钮。以上JBoss IDE开发完成 
            
            网站名称:JBossIDE开发EJB3.0            
            网址分享:
http://zsjierui.cn/article/cdgjide.html