JBossIDE开发EJB3.0

一. 准备开发环境

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.

  1.  code="org.jboss.mq.server.jmx.Queue" 
  2. name="jboss.mq.destination:service=Queue,name=myQueue"> 
  3.  optional-attribute-name="DestinationManager"> 
  4. jboss.mq:service=DestinationManager 
  5.  
  6.   

4.2 完成代码
设置好Queue后,编辑HelloMDB.java,加入Connection和Queue说明.

  1. package demo;  
  2. import javax.jms.JMSException;  
  3. import javax.jms.Message;  
  4. import javax.jms.MessageListener;  
  5. import javax.jms.TextMessage;  
  6. import javax.ejb.ActivationConfigProperty;  
  7. import javax.ejb.MessageDriven;  
  8. @MessageDriven(activationConfig = {  
  9. @ActivationConfigProperty(propertyName = "destinationType",   
  10. propertyValue = "javax.jms.Queue"),  
  11. @ActivationConfigProperty(propertyName = "destination",   
  12. propertyValue = "queue/myQueue") })  
  13. public class HelloMDB implements MessageListener {  
  14. public void onMessage(Message msg) {  
  15. if (msg instanceof TextMessage) {  
  16. TextMessage txtMsg = (TextMessage) msg;  
  17. try {  
  18. System.out.println("Hello " + txtMsg.getText() + ",MDB欢迎您!"); [Page]  
  19. } catch (JMSException e) {  
  20. e.printStackTrace();  
  21. }  
  22. }  
  23. }  
  24. }  

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内容如下

  1. package test;  
  2. import java.io.IOException;  
  3. import javax.jms.JMSException;  
  4. import javax.jms.Queue;  
  5. import javax.jms.QueueConnection;  
  6. import javax.jms.QueueConnectionFactory;  
  7. import javax.jms.QueueSender;  
  8. import javax.jms.QueueSession;  
  9. import javax.jms.Session;  
  10. import javax.jms.TextMessage;  
  11. import javax.naming.Context;  
  12. import javax.naming.InitialContext;  
  13. import javax.naming.NamingException;  
  14. import javax.servlet.ServletException;  
  15. import javax.servlet.http.HttpServletRequest;  
  16. import javax.servlet.http.HttpServletResponse;  
  17. public class TestServlet extends javax.servlet.http.HttpServlet implements  
  18. javax.servlet.Servlet {  
  19. private static final long serialVersionUID = 1L;  
  20. protected void doGet(HttpServletRequest request,  
  21. HttpServletResponse response) throws ServletException, IOException {  
  22. try {  
  23. //得到上下文  
  24. Context ctx=new InitialContext();  
  25. //得到ConnectionFacory  
  26. QueueConnectionFactory connFacotry=  
  27. (QueueConnectionFactory)ctx.lookup("ConnectionFactory");   
  28. //得到消息队列  
  29. Queue queue=(Queue)ctx.lookup("queue/testQueue");  
  30. QueueConnection queueConn=connFacotry.createQueueConnection();  
  31. QueueSession queueSession =  
  32. queueConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);  
  33. QueueSender queueSender =queueSession.createSender(queue);  
  34. //组装消息  
  35. TextMessage txtMsg=queueSession.createTextMessage();  
  36. txtMsg.setText("Luo Daijun");  
  37. queueSender.send(txtMsg);  
  38. //关闭资源  
  39. queueSender.close();  
  40. queueSession.close();  
  41. queueConn.close();  
  42. } catch (NamingException e) {  
  43. e.printStackTrace();  
  44. } catch (JMSException e) { [Page]  
  45. e.printStackTrace();  
  46. }  
  47. }  
  48. protected void doPost(HttpServletRequest request,  
  49. HttpServletResponse response) throws ServletException, IOException {  
  50. }  
  51. }  

5.2.4 运行TestServlet,测试效果 ^_^
右键, 选择 Run As | Run on server
选择JBoss 4.0 for EJB3.0

单击[Finish]按钮。以上JBoss IDE开发完成

文章名称:JBossIDE开发EJB3.0
本文路径:http://www.shufengxianlan.com/qtweb/news16/434966.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联