JMS学习8 - 测试Message的JMSReplyTo属性
来源:互联网 发布:四量指标公式源码 编辑:程序博客网 时间:2024/06/18 04:14
/** * 测试Message.JMSReplyTo属性 * * @author sunjun */public class ReplyTest extends JMSBase {
/** * 发送消息 * * @throws Exception */public void testSend() throws Exception {Connection con = getConnection();con.start();
Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);Queue queue = session.createQueue("queue_1");
MessageProducer producer = session.createProducer(queue);// 设置回复地址Queue replyQueue = session.createQueue("queue_1_reply");TextMessage msg = session.createTextMessage("hello");msg.setJMSReplyTo(replyQueue);producer.send(msg);
MessageConsumer consumer = session.createConsumer(replyQueue);// 接收回复消息consumer.setMessageListener(new MessageListener() {
@Overridepublic void onMessage(Message message) {try {if (message != null && message instanceof TextMessage) {System.out.println("reply msg:"+ ((TextMessage) message).getText());}} catch (JMSException e) {e.printStackTrace();}}});}
/** * 接收消息 * * @throws Exception */public void testReceive() throws Exception {final Connection con = getConnection();con.start();Session session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);Queue queue = session.createQueue("queue_1");MessageConsumer consumer = session.createConsumer(queue);// 接收消息consumer.setMessageListener(new MessageListener() {
@Overridepublic void onMessage(Message message) {try {if (message != null && message instanceof TextMessage) {System.out.println("msg:"+ ((TextMessage) message).getText());
// 发送回复消息Destination replyQueue = message.getJMSReplyTo();Session session = con.createSession(false,Session.AUTO_ACKNOWLEDGE);MessageProducer producer = session.createProducer(replyQueue);TextMessage msg = session.createTextMessage("thanks");producer.send(msg);}} catch (JMSException e) {e.printStackTrace();}}});}
/** * @param args * @throws Exception */public static void main(String[] args) throws Exception {ReplyTest test = new ReplyTest();test.testReceive();test.testSend();}
}通过使用这个replyTo,我们可以通过JMS来实现远程接口调用的功能,就象以前的RabbitMQ一样,只不过它们遵从的协议不一样,内部构造及其设计也有些区别,但都是消息中间件,发送接收消息的基本功能都是一样的,有空写个试试看。
0 0
- JMS学习8 - 测试Message的JMSReplyTo属性
- 深入掌握JMS:JMSReplyTo
- JMS入门(七)---JMSReplyTo
- JMS入门(七)---JMSReplyTo
- JMS入门(七)---JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- 深入掌握JMS(八):JMSReplyTo
- JMS(三):DeliveryMode例子,JMSReplyTo,Selector
- 【Java.JMS】指定JMS消息头中的JMSReplyTo
- 常见的数字证书格式与协议简介
- web 开发笔记“图片文字居中对齐”
- 紫外线消毒器:框架式VIQUA紫外线消毒器
- leetcode——Insert Interval
- 【C++】【学习笔记】【024】抽象方法
- JMS学习8 - 测试Message的JMSReplyTo属性
- PictureEx.h和PictureEx.cpp源文件
- JAXP JAXB JAXR JAX-RPC JAXM [转]
- 《JAVA与模式》之适配器模式
- 【DB.Oracle】PL/SQL Developer export/import excel 数据
- 推荐一些大神的博客
- 诺基亚手机再也不会有了
- Android自动化测试之UIAutomator(三)---比对测试截图
- ION基本概念介绍和原理分析