在下面的例子中,首先创建两个Queue,发送者给一个Queue发送,接收者接收到消息之后给另一个Queue回复一个Message,然后再创建一个消费者来接受所回复的消息。
import javax.jms.Connection;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
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 MessageSendReceiveAndReply {
public static void main(String[] args) throws Exception {
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Connection connection = factory.createConnection();
connection.start();
//消息发送到这个Queue
Queue queue = new ActiveMQQueue("testQueue");
//消息回复到这个Queue
Queue replyQueue = new ActiveMQQueue("replyQueue");
final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建一个消息,并设置它的JMSReplyTo为replyQueue。
Message message = session.createTextMessage("Andy");
message.setJMSReplyTo(replyQueue);
MessageProducer producer = session.createProducer(queue);
producer.send(message);
//消息的接收者
MessageConsumer comsumer = session.createConsumer(queue);
comsumer.setMessageListener(new MessageListener(){
public void onMessage(Message m) {
try {
//创建一个新的MessageProducer来发送一个回复消息。
MessageProducer producer = session.createProducer(m.getJMSReplyTo());
producer.send(session.createTextMessage("Hello " + ((TextMessage) m).getText()));
} catch (JMSException e1) {
e1.printStackTrace();
}
}
});
//这个接收者用来接收回复的消息
MessageConsumer comsumer2 = session.createConsumer(replyQueue);
comsumer2.setMessageListener(new MessageListener(){
public void onMessage(Message m) {
try {
System.out.println(((TextMessage) m).getText());
} catch (JMSException e) {
e.printStackTrace();
}
}
});
}
}
首先消息生产者发送一个消息,内容为“Andy”, 然后消费者收到这个消息之后根据消息的JMSReplyTo,回复一个消息,内容为“Hello Andy‘。 最后在回复的Queue上创建一个接收回复消息的消费者,它输出所回复的内容。
运行上面的程序,可以得到下面的输出结果:
Hello Andy
分享到:
相关推荐
【深入掌握JMS】 JMS(Java Message Service)是Java平台中用于消息传递的标准API,它定义了消息的创建、发送、接收规范,使得不同应用系统间的数据交换变得简单。JMS提供了两种消息通信模型:点对点(P2P)和发布/...
`javax.jms-1.1.jar` 是一个Java Message Service(JMS)的API库,它属于Java标准版(Java Standard Edition, Java SE)的一部分。JMS是Java平台上的一个规范,用于在分布式环境中进行异步消息传递。这个库主要用于...
### 深入掌握JMS——ActiveMQ 十一章 #### JMS基本概念与重要知识点解析 **JMS(Java Message Service)简介** JMS(Java消息服务)是一种广泛应用于企业级应用中的消息中间件协议,它为应用程序提供了一种高效、...
### 深入掌握 JMS(Java Message Service) #### JMS 基础概念 - **JMS**(Java Message Service)是一种Java平台中的消息中间件技术标准,它定义了一套标准API,用于应用程序之间的消息传递。JMS的出现极大地简化...
首先,我们来深入了解JMS。JMS是Java平台的一个标准接口,它定义了生产、消费和管理消息的一组API。通过JMS,开发者可以使用消息中间件来传递数据,这种中间件能够处理消息的路由、缓冲和可靠传递,从而提高系统的可...
【深入掌握JMS】 JMS(Java Message Service)是Java平台中用于企业级应用间进行异步消息传递的标准API。它定义了一套统一的接口,使得开发者能够使用各种不同的消息中间件产品,如ActiveMQ,无需关注底层实现的...
JMS(Java Message Service) 即Java消息服务。它提供标准的产生、发送、接收消息的接口简化企业应用的开发。本资源为chm格式,深入介绍了ActiveMQ的应用。
内含javax.jms-1.1.jar 安装包下载以及Maven手动安装命令 Maven官方仓库下载不下来资源,只能手动安装 <!-- https://mvnrepository.com/artifact/javax.jms/jms --> <groupId>javax.jms <artifactId>jms ...
6. 添加 JMS 队列:添加 JMS 队列是 JMS 配置的第六步,JMS 队列是 JMS 消息的存储器。 向 JMS 队列发送消息 向 JMS 队列发送消息需要按照以下步骤进行: 1. 创建 Web Project:创建 Web 项目是向 JMS 队列发送...
本系列教材旨在帮助读者从基础到深入地理解和掌握JMS的核心概念与实践。 首先,**《利用JMS建立消息传递系统》** 这份文档会介绍如何使用JMS来构建一个消息传递系统的基本步骤。这包括创建消息生产者、消费者,以及...
【JBOSST建立JMS应用实例】 JBOSST(Java Business Open Source ...通过实践这些步骤,开发者可以掌握如何在JBOSST环境中利用JMS进行高效的数据通信。同时,提供的文档和项目文件为深入理解和实践提供了丰富的资源。
接下来,我们将深入探讨在WebLogic环境下配置JMS的关键步骤和相关知识点。 首先,我们需要理解JMS的基本概念。JMS提供了一种方式,使得应用程序能够发送和接收消息,而无需知道消息接收者的具体状态。它支持两种...
Weblogic JMS 依赖jar包是Oracle公司的中间件产品Weblogic Server中用于实现Java Message Service (JMS) 功能的关键组件。JMS是一种标准API,它允许应用程序在分布式环境中发送和接收消息,提供了异步通信的能力。在...
### JMS 中文 规范知识点详解 #### 一、引言 - **摘要与概述:** JMS(Java消息服务)是一种与平台无关的API,用于在两个应用...通过对JMS规范的深入了解,开发人员可以更好地利用其功能来构建可靠、高效的应用程序。
**ActiveMQ在JMS中的应用——深入理解JMS** Java消息服务(Java Message Service,简称JMS)是一种标准API,用于在Java应用程序之间传递消息,它提供了一种解耦和异步处理数据的方式。JMS允许应用程序创建、发送、...
**JMS583 USB转PCIE桥接芯片方案** JMS583是一款由JMicron科技公司设计的高效能USB到PCI Express (PCIe)桥接芯片,旨在为电子设备提供一种灵活的方式来实现高速数据传输。这款芯片能够将USB接口转换成PCIe接口,以...
《深入掌握J2EE编程技术》是一本专为Java企业级开发人员精心编写的指南,旨在帮助读者全面理解和精通J2EE(Java Platform, Enterprise Edition)的各项核心技术。免积分下载的特点使得更多的开发者能够轻松获取这份...
本文旨在详细介绍JMS的核心概念、消息模型及编程模型,帮助读者深入理解JMS的工作原理及其应用场景。 #### 二、JMS基本概念 JMS是一种用于实现分布式系统中消息通信的标准或规范。其核心功能在于降低系统间的耦合...
《JMS 1.1 API详解与应用实践》 Java消息服务(Java Message Service,简称JMS)是Java平台中用于在分布式环境中传递消息的标准API...对于开发者来说,理解和掌握JMS 1.1及其应用是提升Java分布式系统设计能力的关键。
通过阅读《有关JMS的一点看法》、《Apache Geronimo的JMS实现:ActiveMQ》等文章,我们可以深入理解JMS的使用场景、优缺点以及最佳实践。同时,《JAVA基础:什么是JMS》和《JMS简介》等资料可以帮助我们系统地了解...