JMS&MQ,从入门到精通(五)

来源:互联网 发布:ecjia到家源码下载 编辑:程序博客网 时间:2024/06/06 11:36
上篇我们介绍了,jms实现消息持久化的案例,本篇我们来介绍一个稍微复杂的场景

场景介绍

创建两个Queue,发送者给一个Queue发送,接收者接收到消息之后给另一个Queue回复一个Message,前一个发送者进行接受处理

实现思路

1.创建一个连接2.创建两个queue,sendQueue,replyQueue3.给队列sendQueue发消息,监听这处理从replyQueue回复消息给发送者

一个简单的实例

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");Connection connection = factory.createConnection();connection.start();//消息发送到这个QueueQueue queue = new ActiveMQQueue("sendQueue");//消息回复到这个QueueQueue 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);System.out.println("send message Andy  finish....");//消息的接收者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()));            System.out.println("producer 接收到消息后,回复消息完毕");        } catch (JMSException e1) {            e1.printStackTrace();        }    }});//这个接收者用来接收回复的消息MessageConsumer comsumer2 = session.createConsumer(replyQueue);comsumer2.setMessageListener(new MessageListener(){    public void onMessage(Message m) {        try {            System.out.println("接受到producer回复的消息:"+((TextMessage) m).getText());        } catch (JMSException e) {            e.printStackTrace();        }    }});//首先消息生产者发送一个消息,内容为“Andy”, 然后消费者收到这个消息之后根据消息的JMSReplyTo,// 回复一个消息,内容为“Hello Andy‘。 最后在回复的Queue上创建一个接收回复消息的消费者,它输出所回复的内容。
我们来看一下运行结果:

这里写图片描述

下一篇我们介绍一下,Queue的一些细节
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 靠墙站立腰疼怎么办 小腿酸痛乏力肌肉萎缩怎么办 搬重物后手臂疼怎么办 和尚鹦鹉吃了盐怎么办 刚买鹦鹉不上手怎么办 word的文件时间改了怎么办 图强gps编码丢失怎么办 武统台湾后岛民怎么办 没有你我怎么办是什么歌 ios 12软件闪退怎么办 来大姨妈想吐怎么办 3岁宝宝体重轻怎么办 硕士延期毕业考上博士怎么办 中国人移民欧洲饮食不习惯怎么办 出车祸了报警警察不管怎么办 高中的孩子不好好上学怎么办 和老公消费观念不合拍怎么办 去医院没带现金怎么办 微信读书下架了怎么办 24岁血压有点高怎么办 吃鸡鼠标弹出来怎么办 电脑分辨率调错了怎么办 猎豹sc9打不开门怎么办 苹果手机卡顿反应慢怎么办 金立手机卡顿反应慢怎么办 20天宝宝黄疸219怎么办? 智慧树选修挂科怎么办 军人被纠察抓了怎么办 我家的小孩很凶怎么办 10岁儿童老挤眼怎么办? 脚趾长鸡眼好痛怎么办 月加班超过36小时怎么办 月经老提前怎么办才好 20岁例假不规律怎么办 农村的医保门诊封顶了怎么办 保研夏令营被拒怎么办 小学生去英国游学怎么办签证 医生说我湿气重怎么办 喉咙痛有来医生感冒喉咙痛怎么办 暴马丁香叶子卷怎么办 房产权40年以后怎么办