前一讲简单的介绍了一下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());
}
}
分享到:
相关推荐
在我们的案例中,Spring将帮助我们集成JMS,并管理消息的生产者和消费者。 3. **JMS**:这是一个Java平台的标准接口,用于在不同的应用程序之间发送和接收消息。JMS提供了一种解耦和异步通信的方式,使得发送消息的...
总之,通过学习这些案例代码,你可以深入理解ActiveMQ的基本操作,了解如何在实际项目中利用其强大的消息处理能力。无论是简单的点对点通信,还是复杂的发布订阅模型,ActiveMQ都提供了丰富的功能和优秀的性能,使得...
2. **Java-EE**:Java企业版,是一种标准的企业级应用开发平台,提供了多种API和服务,如JDBC、Servlet、JMS等,用于构建可扩展的、高性能的企业级应用。 3. **微服务**:微服务是一种软件架构风格,它提倡将单一...
根据给定文件的信息,我们可以提炼出以下关于“泰牛程序员 韩顺平 JavaEE全套 第15部分 Struts2基础入门”的相关知识点。 ### 一、JavaEE概述 Java Platform, Enterprise Edition(JavaEE)是由Oracle公司维护的一...
"Axis2-study.zip_axis2_doc"压缩包包含的"Axis2-study.pdf"文件很可能是Axis2的详细学习资料,覆盖了Axis2的基本概念、架构、特性、服务创建与调用方法等内容,对于初学者或希望深入了解Axis2的开发者来说是一份...
Hello_World应用作为初学者的入门案例,不仅能够帮助理解JBoss ESB的开发环境搭建,还能揭示如何创建和运行一个基本的ESB工程。 #### 二、创建ESB工程 创建ESB工程是启动任何JBoss ESB项目的首要步骤。这涉及到...
【标题】:“Websphere MQ入门教程-使用IBM Websphere MQ” 【正文】: IBM WebSphere MQ(原名...本教程的详细内容可在提供的文档《Websphere MQ入门教程7.doc》中找到,它将更深入地引导你了解和使用WebSphere MQ。
2. **综合案例**: - 构建一个完整的Web应用程序,涵盖从前端到后端的所有功能。 - 在实际项目中运用所学知识解决问题。 #### 六、持续学习 1. **新技术跟踪**: - 关注J2EE领域的最新发展,例如Spring框架、...
### J2EE电子商务系统开发从入门到精通 #### 第1章 J2EE概论 **1.1 简单双层架构到复杂多层架构** - **1.1.1 双层(C/S)软件架构设计** - C/S架构即客户端/服务器架构,是一种传统的软件架构方式。在这种架构中...
通过阅读"WebSphere快速入门.doc",初学者将能够迅速掌握WebSphere的基本操作和核心概念,为进一步深入学习和实践打下坚实的基础。这个文档可能还会包含一些实际案例和最佳实践,帮助读者更好地理解和应用所学知识。...
学习"Java Web从入门到精通"的过程可能会从基础知识开始,逐渐深入到复杂的框架和设计模式。这份PPT应该会涵盖这些知识点,并通过实例和案例来帮助理解。对于希望在Java Web领域深入发展的开发者来说,这些都是不可...
本教程旨在帮助初学者深入理解Websphere MQ的基本概念、工作原理以及实际操作,从而快速入门。 1. **基本概念** - **消息中间件**:Websphere MQ作为消息中间件,负责在分布式系统中的应用程序之间传递消息,提供...
**JBMP入门详解与实践案例** JBMP,全称为Java Business Management Process,是早期的一种业务流程管理(Business Process Management)框架,主要用于企业级应用中处理业务流程自动化。它基于Java平台,提供了...
2. **面向对象编程**:深入解析类、对象、封装、继承和多态等面向对象概念,这是Java的核心特性,也是理解和编写复杂程序的关键。 3. **异常处理**:介绍如何使用try-catch-finally结构处理运行时错误,确保程序的...
根据提供的文档信息,我们可以深入探讨有关IBM MQSeries Workflow Buildtime的相关知识点。 ### IBM MQSeries Workflow Buildtime概述 IBM MQSeries Workflow Buildtime 是一种强大的工具,主要用于构建和管理工作...
### IBM MQ 入门及提高 #### 一、概述 IBM MQ(原名 WebSphere MQ)是一款由IBM公司开发的企业级消息中间件软件,旨在帮助企业和组织构建安全、可靠的信息交换系统。IBM MQ的主要功能是确保消息能够在不同的应用...
2. **ORB集成**:如何将CORBA与其他中间件或框架(如EJB、JMS等)集成,以构建混合式的企业级应用。 3. **CORBA性能优化**:如何设计高效的接口,减少网络传输,优化ORB配置等,以提高系统性能。 4. **案例研究和...
《J2EE经典案例设计与实现素材》是学习和研究J2EE技术的重要参考资料,它包含了一系列实际项目中的源代码,这些源代码是上实验课时由教师提供的,旨在帮助学生深入理解J2EE的架构设计和编程实践。在本文中,我们将...
通过对这些J2EE项目案例源代码的深入学习,开发者不仅可以提升自己的技术水平,还能积累宝贵的实践经验,更好地应对未来的项目挑战。无论是初学者还是经验丰富的开发者,都能从中受益匪浅,进一步增强自己在Java和...