`
alex1960
  • 浏览: 63722 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

EJB3.0+JBoss6开发JMS 配置与代码

    博客分类:
  • EJB
阅读更多

一、配置

1.jboss5.1之前的版本是把xxxx-service.xml拷贝到\server\default\deploy\目录下,其内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>

<server>  

  <mbean code="org.jboss.mq.server.jmx.Queue"

         name="jboss.mq.destination:service=Queue,name=myQueue">

    <attribute name="JNDIName">queue/myQueue</attribute>   

    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>

  </mbean>

  <mbean code="org.jboss.mq.server.jmx.Topic"

name="jboss.mq.destination:service=Topic,name=myTopic">

<attribute name="JNDIName">topic/myTopic</attribute>

    <depends optional-attribute-name="DestinationManager">jboss.mq:service=DestinationManager</depends>

  </mbean>

</server>

 

2. Jboss6配置: 在jboss-6.1.0.Final\server\all\deploy\hornetq\hornetq-jms.xml 加入配置

 

<queue name="myQueue">

       <entry name="/queue/myQueue"/>

   </queue>

   <topic name="myTopic">

       <entry name="/topic/myTopic"/>

   </topic>

二、代码

1.jboss5.1之前的版本的连接工厂JNDI分别为:TopicConnectionFactory和QueueConnectionFactory

在Session Bean中代码:

 

@Stateless

@Remote (TSender.class)

public class TSenderBean implements TSender {

    @Resource(mappedName="QueueConnectionFactory") private QueueConnectionFactory factory;

    @Resource(mappedName="queue/myQueue") private Queue destination;

    //@Resource(mappedName="TopicConnectionFactory") private TopicConnectionFactory factory;

    //@Resource(mappedName="topic/myTopic") private Topic destination;

    

public void send(String msg) {

TopicConnection conn = null;

TopicSession session = null;

        try {

            conn = factory.createQueueConnection();

            session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);

            MessageProducer producer = session.createProducer(destination);

            //conn = factory.createTopicConnection();

            //session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);

            //MessageProducer producer = session.createProducer(destination);

            TextMessage text = session.createTextMessage(msg);

            producer.send(text);

        }catch (Exception e){

            e.printStackTrace();

        }finally{

            try {

                session.close ();

                conn.close();

            } catch (JMSException e) {

            e.printStackTrace();

            }

        }

}

}

 

 

在java类中代码:

 

 Properties props = new Properties();

            props.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");

            props.setProperty(Context.PROVIDER_URL, "localhost:1099");

            props.setProperty(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");

            InitialContext ctx = new InitialContext(props);

            QueueConnectionFactory factory = (QueueConnectionFactory) ctx.lookup("QueueConnectionFactory");  //PTP(点对点) 消息传递模型规定了一条消息只能传递给一个接收方

            //TopicConnectionFactory factory = (TopicConnectionFactory) ctx.lookup("TopicConnectionFactory"); //Pub/sub (发布和订阅)消息传递模型允许一条消息传递给多个接收方

           //TopicConnection conn = factory.createTopicConnection();

           //TopicSession session = conn.createTopicSession(false, TopicSession.AUTO_ACKNOWLEDGE);

           //Destination destination = (Topic) ctx.lookup("topic/myTopic");

            TopicConnection conn = factory.createQueueConnection();

            TopicSession session = conn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);

            Destination destination = (Queue) ctx.lookup("queue/myQueue");

         

            MessageProducer producer = session.createProducer(destination);

            //发送文本

            TextMessage msg = session.createTextMessage("Hello Bean");

            producer.send(msg);

2.Jboss6中  QueueConnectionFactory和QueueConnectionFactory的连接工厂JNDI合并成了ConnectionFactory,  so 把上面代码连接工厂JNDI改为ConnectionFactory就OK了 

 

 

0
9
分享到:
评论

相关推荐

    ejb3.0+Weblogic+Jboss安装配置及入门例子

    EJB3.0是EJB规范的一个重要版本,它在2006年发布,引入了许多重大的改进,简化了开发流程,降低了对XML配置的依赖,并引入了注解(Annotation)来简化组件的声明。 **EJB3.0的关键特性** 1. 注解驱动:EJB3.0引入了...

    EJB3.0+JBOSS4.2.2GA集群

    总的来说,"EJB3.0+JBOSS4.2.2GA集群"意味着开发者正在构建一个基于EJB 3.0的分布式应用程序,并使用JBoss AS 4.2.2 GA版本来支持集群部署,以提高系统的可靠性和性能。通过深入理解集群配置、会话复制以及负载均衡...

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

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

    EJB3.0+Struts2工程

    EJB 3.0 是EJB规范的一个重大改进,它简化了API,降低了开发复杂性。EJB 3.0 的核心特性包括: 1. **注解驱动**:EJB 3.0 引入了大量注解,如`@Entity`, `@PersistenceContext`, `@Stateless`, `@Stateful`, `@...

    Myeclipse+JBoss开发的EJB3.0 一对多程序

    这个“第三次上机作业”可能是实验或项目的一部分,它可能包含了实现EJB3.0一对多关系的具体代码和配置文件。文件中可能包括了实体类、会话Bean以及相应的XML配置文件(如果有的话)。通过分析这些文件,可以深入...

    EJB3.0开发文档+工具

    EJB 3.0是EJB规范的一个重要版本,它极大地简化了EJB的开发模型,使得开发者能够更加专注于业务逻辑,而无需深陷于复杂的API和配置之中。以下是对EJB 3.0开发文档和工具的详细解读: 1. **EJB 3.0的核心特性:** -...

    EJB3.0开发Message Driven Bean

    - **JBoss IDE 1.5 GA**:提供了一整套针对JBoss应用程序服务器的集成开发环境(IDE),支持EJB3.0、JBPM、JBoss AOP等技术。 - **Eclipse WTP插件**:Web Tools Platform,用于开发Java EE项目,本例中用于创建一个...

    JBOSS7+EJB3.0

    【JBOSS7+EJB3.0】是一个关于企业级Java应用服务器JBOSS7与企业JavaBeans(EJB)3.0版本结合使用的实践案例。JBOSS AS(Application Server)是Red Hat公司开发的一款开源Java EE应用服务器,而EJB 3.0是Java平台上...

    ejb3.0入门图文教程

    首先,我们来看《EJB3.0开发Entity.pdf》。在EJB 3.0中,Entity Bean代表持久化对象,它存储在数据库中并与数据库进行交互。这个部分将介绍如何定义实体bean,包括使用JPA(Java Persistence API)来注解实体类,...

    EJB3.0标准技术手册与JBoss实践指南第5版.rar

    《EJB3.0标准技术手册与JBoss实践指南第5版》是一部深入探讨企业级JavaBeans(EJB)3.0技术的权威著作,专为开发者提供了全面且实用的指导。EJB是Java平台上用于构建可扩展、安全且事务处理能力强的企业级应用的核心...

    EJB3.0入门教程 PDF

    本教程将带你深入了解EJB 3.0的基础知识,并通过JBUILDER和JBOSS这两个流行的开发工具进行实践操作。 ### EJB 3.0概述 EJB 3.0的主要目标是提高开发者效率,通过引入注解(Annotations)和依赖注入(Dependency ...

    eclipse + JBoss 5 + EJB3开发指南中的代码

    在本文中,我们将深入探讨如何使用Eclipse集成开发环境(IDE)与JBoss Application Server 5相结合,利用Enterprise JavaBeans(EJB)3.0规范进行应用程序开发。EJB3是Java EE(企业版)平台的一个重要组成部分,它...

    EJB3.0__EJB3.0

    EJB3.0是EJB规范的一个重要版本,它引入了许多简化开发的特性,使得EJB更加易用。 EJB3.0的核心概念包括: 1. **Session Bean**: - **有状态Session Bean(Stateful Session Bean)**:每个客户端会话对应一个...

    Jbuilder2007开发EJB3.0

    在JBuilder2007中,开发者可以享受到代码编辑、调试、项目管理等一站式开发服务,尤其在EJB3.0的开发中,其向导和模板功能可以帮助快速创建和配置EJB组件,提高开发效率。 6. **JBoss 4.0**:JBoss是开源的应用...

    EJB3.0开发平台配置(含源码)

    开发EJB3.0应用通常需要Java EE兼容的应用服务器,如GlassFish、JBoss或WebLogic。这些服务器提供了EJB的运行时环境,并负责管理Bean的生命周期。 8. **源码分析与实践** 提供的源码可以帮助我们理解EJB3.0的实现...

    EJB3.0详解

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

    EJB3.0入门教程

    JBoss的EJB3.0支持包括了部署描述符的简化、热部署功能以及与其他Java EE组件(如Servlet、JMS等)的无缝集成。 在《EJB3.0简介.htm》和《EJB3.pdf》中,可能会详细解释这些概念和使用方法,而《ejb3_ch》可能是EJB...

    jboss EJB3.0实例教程

    1. **注解驱动**:EJB3.0大量使用了Java注解(Annotation),如`@Entity`, `@Stateless`, `@PersistenceContext`等,使得开发者无需编写大量的XML配置文件,代码更简洁。 2. **持久化框架**:EJB3.0引入了JPA(Java...

    EJB3.0入门图文教程

    - `EJB3.0开发Message Driven Bean.pdf`:专门讲解如何利用EJB3.0开发消息驱动bean,包括JMS配置和消息处理。 - `EJB3.0开发Entity.pdf`:涵盖了EJB3.0中的实体bean开发,包括JPA的基本概念和操作。 通过这些教程,...

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

    EJB3.0的出现极大地降低了开发企业级Java应用的门槛,其简化了Bean的配置,提升了开发效率。通过实体Bean、会话Bean和消息驱动Bean,开发者可以构建出复杂而稳定的分布式系统。理解并熟练掌握这些核心组件,是成为...

Global site tag (gtag.js) - Google Analytics