`

深入JMS - 2 - 案例入门(转)

    博客分类:
  • JMS
阅读更多

前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念. 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不用考虑这些. 我们选择ActiveMQ, 官方地址: http://activemq.apache.org/. 网上有很多介绍ActiveMQ的文档, 所以在这里就不介绍了.
按照上一讲的这个简图,

ConnectionFactory---->Connection--->Session--->Message
Destination + Session------------------------------------>Producer
Destination + Session------------------------------------>MessageConsumer

 首先需要得到ConnectionFactoy和Destination,这里创建一个一对一的Queue作为

Destination
ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Queue queue = new ActiveMQQueue("testQueue");

 然后又ConnectionFactory创建一个Connection, 再启动这个Connection:

Connection connection = factory.createConnection();
connection.start();

 接下来需要由Connection创建一个Session:

Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE)

 

现在暂且不用管参数的含义, 以后会详细讲到.下面就可以创建Message了,这里创建一个TextMessage

Message message = session.createTextMessage("Hello JMS!");

 要想把刚才创建的消息发送出去,需要由Session和Destination创建一个消息生产者:

MessageProducer producer = session.createProducer(queue);

下面就可以发送刚才创建的消息了: 

producer.send(message);

 消息发送完成之后,我们需要创建一个消息消费者来接收这个消息:

MessageConsumer comsumer = session.createConsumer(queue);
Message recvMessage = comsumer.receive();

 消息消费者接收到这个消息之后,就可以得到它的内容:

System.out.println(((TextMessage)recvMessage).getText());

 至此,一个简单的JMS例子就完成了。下面是全部源码 :

import javax.jms.Connection;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.activemq.command.ActiveMQQueue;

public class MessageSendAndReceive {

    public static void main(String[] args) throws Exception {
        ConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
   
        Connection connection = factory.createConnection();
        connection.start();
       
        Queue queue = new ActiveMQQueue("testQueue");
       
        final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
        Message message = session.createTextMessage("Hello JMS!");
       
        MessageProducer producer = session.createProducer(queue);
        producer.send(message);
   
        System.out.println("Send Message Completed!");
       
        MessageConsumer comsumer = session.createConsumer(queue);
        Message recvMessage = comsumer.receive();
        System.out.println(((TextMessage)recvMessage).getText());
    }
}
分享到:
评论

相关推荐

    tomcat spring jms 异步消息传递入门实例

    在我们的案例中,Spring将帮助我们集成JMS,并管理消息的生产者和消费者。 3. **JMS**:这是一个Java平台的标准接口,用于在不同的应用程序之间发送和接收消息。JMS提供了一种解耦和异步通信的方式,使得发送消息的...

    AcitveMQ入门案例代码        

    总之,通过学习这些案例代码,你可以深入理解ActiveMQ的基本操作,了解如何在实际项目中利用其强大的消息处理能力。无论是简单的点对点通信,还是复杂的发布订阅模型,ActiveMQ都提供了丰富的功能和优秀的性能,使得...

    Java EE轻量级框架应用与开发--S2SH-示例代码和部分贯穿项目代码.zip

    2. **Java-EE**:Java企业版,是一种标准的企业级应用开发平台,提供了多种API和服务,如JDBC、Servlet、JMS等,用于构建可扩展的、高性能的企业级应用。 3. **微服务**:微服务是一种软件架构风格,它提倡将单一...

    泰牛程序员 韩顺平 JavaEE全套 第15部分 Struts2基础入门

    根据给定文件的信息,我们可以提炼出以下关于“泰牛程序员 韩顺平 JavaEE全套 第15部分 Struts2基础入门”的相关知识点。 ### 一、JavaEE概述 Java Platform, Enterprise Edition(JavaEE)是由Oracle公司维护的一...

    Axis2-study.zip_axis2_doc

    "Axis2-study.zip_axis2_doc"压缩包包含的"Axis2-study.pdf"文件很可能是Axis2的详细学习资料,覆盖了Axis2的基本概念、架构、特性、服务创建与调用方法等内容,对于初学者或希望深入了解Axis2的开发者来说是一份...

    ESB应用Hello_World

    Hello_World应用作为初学者的入门案例,不仅能够帮助理解JBoss ESB的开发环境搭建,还能揭示如何创建和运行一个基本的ESB工程。 #### 二、创建ESB工程 创建ESB工程是启动任何JBoss ESB项目的首要步骤。这涉及到...

    Websphere MQ入门教程-使用IBM Websphere MQ

    【标题】:“Websphere MQ入门教程-使用IBM Websphere MQ” 【正文】: IBM WebSphere MQ(原名...本教程的详细内容可在提供的文档《Websphere MQ入门教程7.doc》中找到,它将更深入地引导你了解和使用WebSphere MQ。

    JAVA入门: J2EE的学习流程

    2. **综合案例**: - 构建一个完整的Web应用程序,涵盖从前端到后端的所有功能。 - 在实际项目中运用所学知识解决问题。 #### 六、持续学习 1. **新技术跟踪**: - 关注J2EE领域的最新发展,例如Spring框架、...

    J2EE电子商务系统开发从入门到精通

    ### J2EE电子商务系统开发从入门到精通 #### 第1章 J2EE概论 **1.1 简单双层架构到复杂多层架构** - **1.1.1 双层(C/S)软件架构设计** - C/S架构即客户端/服务器架构,是一种传统的软件架构方式。在这种架构中...

    WebSphere快速入门.doc

    通过阅读"WebSphere快速入门.doc",初学者将能够迅速掌握WebSphere的基本操作和核心概念,为进一步深入学习和实践打下坚实的基础。这个文档可能还会包含一些实际案例和最佳实践,帮助读者更好地理解和应用所学知识。...

    Java Web从入门到精通_PPT

    学习"Java Web从入门到精通"的过程可能会从基础知识开始,逐渐深入到复杂的框架和设计模式。这份PPT应该会涵盖这些知识点,并通过实例和案例来帮助理解。对于希望在Java Web领域深入发展的开发者来说,这些都是不可...

    Websphere+MQ入门教程

    本教程旨在帮助初学者深入理解Websphere MQ的基本概念、工作原理以及实际操作,从而快速入门。 1. **基本概念** - **消息中间件**:Websphere MQ作为消息中间件,负责在分布式系统中的应用程序之间传递消息,提供...

    JBMP入门讲解附带实例一个

    **JBMP入门详解与实践案例** JBMP,全称为Java Business Management Process,是早期的一种业务流程管理(Business Process Management)框架,主要用于企业级应用中处理业务流程自动化。它基于Java平台,提供了...

    Java案例开发集锦

    2. **面向对象编程**:深入解析类、对象、封装、继承和多态等面向对象概念,这是Java的核心特性,也是理解和编写复杂程序的关键。 3. **异常处理**:介绍如何使用try-catch-finally结构处理运行时错误,确保程序的...

    IBM MQSeries Workflow Buildtime 入门 版本 3.2.2 (SH84-0582-05).pdf

    根据提供的文档信息,我们可以深入探讨有关IBM MQSeries Workflow Buildtime的相关知识点。 ### IBM MQSeries Workflow Buildtime概述 IBM MQSeries Workflow Buildtime 是一种强大的工具,主要用于构建和管理工作...

    IBM MQ 入门及提高

    ### IBM MQ 入门及提高 #### 一、概述 IBM MQ(原名 WebSphere MQ)是一款由IBM公司开发的企业级消息中间件软件,旨在帮助企业和组织构建安全、可靠的信息交换系统。IBM MQ的主要功能是确保消息能够在不同的应用...

    2本CORBA教程,一本入门,一本提升

    2. **ORB集成**:如何将CORBA与其他中间件或框架(如EJB、JMS等)集成,以构建混合式的企业级应用。 3. **CORBA性能优化**:如何设计高效的接口,减少网络传输,优化ORB配置等,以提高系统性能。 4. **案例研究和...

    J2EE经典案例设计与实现素材

    《J2EE经典案例设计与实现素材》是学习和研究J2EE技术的重要参考资料,它包含了一系列实际项目中的源代码,这些源代码是上实验课时由教师提供的,旨在帮助学生深入理解J2EE的架构设计和编程实践。在本文中,我们将...

    J2EE项目案例源代码(强力推荐:运行稳定)

    通过对这些J2EE项目案例源代码的深入学习,开发者不仅可以提升自己的技术水平,还能积累宝贵的实践经验,更好地应对未来的项目挑战。无论是初学者还是经验丰富的开发者,都能从中受益匪浅,进一步增强自己在Java和...

Global site tag (gtag.js) - Google Analytics