关闭

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

标签: TemporaryJMSrabbitMqactivemq-spring
620人阅读 评论(0) 收藏 举报
分类:
本文我们来介绍一下TemporaryQueue和TemporaryQueue的使用,

    TemporaryQueue和TemporaryTopic,从字面上就可以看出它们是“临时”的目的地。可以通过Session来创建,例如:
 TemporaryQueue replyQueue = session.createTemporaryQueue();

 虽然它们是由Session来创建的,但是它们的生命周期确实整个Connection。如果在一个Connection上创建了两个Session,
 则一个Session创建的TemporaryQueue或TemporaryTopic也可以被另一个Session访问。那如果这两个Session是由不同的Connection创建,
 则一个Session创建的TemporaryQueue不可以被另一个Session访问。
 另外,它们的主要作用就是用来指定回复目的地, 即作为JMSReplyTo。
 在下面的例子中,先创建一个Connection,然后创建两个Session,其中一个Session创建了一个TemporaryQueue,
 另一个Session在这个TemporaryQueue上读取消息。

一个简单的实例

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");
Connection connection = factory.createConnection();
connection.start();

Queue queue = new ActiveMQQueue("testQueue2");
final Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//使用session创建一个TemporaryQueue。
TemporaryQueue replyQueue = session.createTemporaryQueue();

//接收消息,并回复到指定的Queue中(即replyQueue)
MessageConsumer comsumer = session.createConsumer(queue);
comsumer.setMessageListener(new MessageListener() {
    public void onMessage(Message m) {
        try {
            System.out.println("Get Message: " + ((TextMessage) m).getText());
            MessageProducer producer = session.createProducer(m.getJMSReplyTo());
            producer.send(session.createTextMessage("ReplyMessage"));
        } catch (JMSException e) {
        }
    }
});

//使用同一个Connection创建另一个Session,来读取replyQueue上的消息。
Session session2 = connection.createSession(true, Session.AUTO_ACKNOWLEDGE);
MessageConsumer replyComsumer = session2.createConsumer(replyQueue);
replyComsumer.setMessageListener(new MessageListener() {
    public void onMessage(Message m) {
        try {
            System.out.println("Get reply: " + ((TextMessage) m).getText());
        } catch (JMSException e) {
        }
    }
});

MessageProducer producer = session.createProducer(queue);
TextMessage message = session.createTextMessage("SimpleMessage");
message.setJMSReplyTo(replyQueue);
producer.send(message);

我们来看一下运行结果

这里写图片描述

现在我们的连接都是用的虚拟连接,但是实际应用中肯定不是这么做的,实际开发中我们需要下载apache-activemq-5.14.5-bin.tar.gz 手动运行

apache-activemq-5.14.5//bin/activemq.jar start

然后

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory();
factory.setPassword("admin");
factory.setUserName("admin");
factory.setBrokerURL("tcp://localhost:61616");
Connection connection = factory.createConnection();
connection.start();

这里的密码是默认密码,需要启动activeMq,activeMq也有自己的UI管理页面,启动之后

http://127.0.0.1:8161/admin/,即可看到页面,,默认密码:admin/admin

这里写图片描述

到此为止关于activeMq对于JMS的实现,基本介绍完毕,后续章节介绍rabbitMq对于JMS的实现.以及rabbitMq集群
0
0
查看评论

ORACLE从入门到精通 明日科技编著 清华大学出版社

http://pan.baidu.com/s/1gePoRAV
  • ggkmskj
  • ggkmskj
  • 2017-06-07 17:04
  • 1139

SQL SERVER-2008从入门到精通pdf

下载地址:网盘下载 内容要点 编辑 SQL Server 2008是Windows Server的最新版本,它推出了许多新的特性和关键性的改进,是至今为止最强大和最全面的SQL Server版本。本书详细介绍SQL Server 2008中的重要新增功能和增强特性。 ...
  • cf406061841
  • cf406061841
  • 2017-06-04 23:24
  • 1088

C#从入门到精通学习笔记——(1)

一、概述 1.C#语言特性: 2.C#与.net框架的关系: 3.VS应用
  • Memory_sand
  • Memory_sand
  • 2017-04-04 16:26
  • 325

《Unity4.x从入门到精通》随书光盘下载

http://game.ceeger.com/forum/read.php?tid=14970&fid=7
  • ldghd
  • ldghd
  • 2014-01-25 14:33
  • 4033

MyBatis从入门到精通__刘增辉(著)_ 电子工业出版社.pdf 免费下载

下载地址: MyBatis从入门到精通__刘增辉(著)_ 电子工业出版社.pdf
  • jiongyi1
  • jiongyi1
  • 2018-01-25 19:57
  • 111

Java Web从入门到精通 谁买谁后悔

Java Web从入门到精通:8小时多媒体教学视频(视频实战版)作 者: 常倬林 著 丛 书 名: 出 版 社: 机械工业出版社 ISBN:9787111324188 出版时间:2011-01-01 版 次:1 页 数:571 装 帧:平装 开 本:16开  这是书的视频太搞笑,作者,出版...
  • snihcel
  • snihcel
  • 2011-05-18 13:32
  • 2421

WF从入门到精通系列

WF从入门到精通系列
  • tigerzx
  • tigerzx
  • 2017-03-11 12:47
  • 152

HTML、CSS、JavaScript网页制作从入门到精通

这大概是我第一次写博客吧,自从大一开始写代码,至今也有5年的光景了,很遗憾并没有养成写博客的习惯,一方面因为我平时很少有阶段性的总结,另一面也确实不知道该分享些什么。归根结底还是功夫不到家,没有一些让自己骄傲的阶段性成果。既然要写,还是决定从读书笔记开始,记下自己学习的心得,一方面可以分享给大家,另...
  • luchengbing0120
  • luchengbing0120
  • 2017-09-19 19:42
  • 479

asp.net从入门到精通第三版光盘全部内容

asp.net从入门到精通第三版光盘
  • qq_22973115
  • qq_22973115
  • 2016-10-03 18:05
  • 2325

SpringBoot从入门到精通

原文链接如下: http://blog.didispace.com/categories/Spring-Boot/page/4/
  • java1993666
  • java1993666
  • 2017-08-28 19:01
  • 969
    个人资料
    • 访问:296370次
    • 积分:4219
    • 等级:
    • 排名:第8603名
    • 原创:148篇
    • 转载:8篇
    • 译文:0篇
    • 评论:56条
    博客专栏