在下面的例子中,首先创建两个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;
/*** TODO 在此写上类的相关说明.<br>* @author gqltt<br>* @version 1.0.0 2021年10月21日<br>* @see * @since JDK 1.5.0*/
public class JMSReplyToDemo {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

Java消息服务~JMSReplyTo示例相关推荐

  1. JMS(Java消息服务)入门教程

    什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2EE中 ...

  2. JMS (Java消息服务) 入门教程

    转载自:https://www.cnblogs.com/chenpi/p/5559349.html 什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议 ...

  3. JMS : Java Message Service (Java消息服务)之一 [转]

    为什么80%的码农都做不了架构师?>>>    1 引言 1.1 编写目的 本文作为B2bi项目中开源产品JORAM的使用指导文档,旨在帮助项目组人员方便明了的进行JMS模块的详细设 ...

  4. Java 消息服务(Java Message Service

    Java 消息服务( Java Message Service ,简称 JMS )是企业级消息传递系统,紧密集成于 Jboss Server 平台之中.企业消息传递系统使得应用程序能够通过消息的交换与 ...

  5. Java消息服务【必看】

    什么是Java消息服务 # Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2E ...

  6. java 消息服务框架_Java消息服务 在 Spring Boot 中的使用

    原标题:Java消息服务 在 Spring Boot 中的使用 当前环境 Mac OS 10.11.x docker 1.12.1 JDK 1.8 SpringBoot 1.5 前言 基于之前一篇&q ...

  7. Java消息服务JMS详解

    2019独角兽企业重金招聘Python工程师标准>>> JMS: Java消息服务(Java Message Service) JMS是用于访问企业消息系统的开发商中立的API.企业 ...

  8. 01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序

     1 什么是服务器 Weblogic中服务器分为两种,一种是受管服务器,另外一种是管理服务器. Weblogic课程(Weblogic是Oracle公司的,最开始的是BEA公司的) 一 系统管理 ...

  9. JAVA消息服务JMS规范及原理详解

    一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进 ...

最新文章

  1. word怎么根据点画曲线_圆锥曲线联解公式
  2. 两个关于.NET读取EXCEL文件的问题,记下来,很有用!
  3. python--从入门到实践--chapter 12 pygame_Alien_Invasion
  4. 【Java】深入理解Java线程
  5. [转]ASP.NET面试题
  6. C++ 对象模型(二)
  7. 怎么捡自己空投_绝地求生:如何用纸皮自制空投?只需2个道具即可完成,附带教程...
  8. ORB-SLAM2双目开源框架 (4) LoopClosing解析
  9. GBDT, Gradient Boost Decision Tree,梯度提升决策树
  10. sql 备份 语句(全)
  11. 区块链隐私保护:技术和相关项目
  12. Collections.unmodifiableList方法的使用与场景
  13. 学习Java面向对象编程和设计模式最好的5本书
  14. 【华为OD机试真题 JS】数字涂色
  15. 计算机二级 word 论文,最新计算机二级第十四套word题目要求
  16. Android集成高德地图
  17. js阿拉伯数字转中文数字
  18. layui数据表格与后台交互进行渲染
  19. 【数模之文本文件操作】
  20. kali2020.1版本,wifi异常连接提示没有固件,安装无线网卡驱动,及相关的组件

热门文章

  1. 会议交流 | 如何提升推荐系统的可解释性?——DataFunSummit2022知识图谱在线峰会...
  2. 学术联赛 | 运用知识图谱技术,赋能多领域应用 ——“未来杯”AI学术联赛总决赛暨颁奖典礼圆满落幕...
  3. 论文浅尝 | 基于潜在类别信息的实体链接
  4. flutter 获取设备屏幕大小
  5. Spring Boot-springbootHelloword(一)
  6. 档案信息化管理的最好解决方案
  7. jquery.tmplate使用心得
  8. codevs 1283 等差子序列
  9. ActiveRecord模式整理
  10. HDU 5600(瞎搞)