Maven 配置文件  

  1. <dependency>
  2. <groupId>org.apache.activemq</groupId>
  3. <artifactId>activemq-all</artifactId>
  4. <version>5.9.1</version>
  5. </dependency>

provider 生产者代码

  1. import static commons.Constants.*;
  2.  
  3. import javax.jms.Connection;
  4. import javax.jms.ConnectionFactory;
  5. import javax.jms.JMSException;
  6. import javax.jms.Message;
  7. import javax.jms.MessageProducer;
  8. import javax.jms.Queue;
  9. import javax.jms.Session;
  10.  
  11. import org.apache.activemq.ActiveMQConnectionFactory;
  12.  
  13. public class Provider {
  14. public static void main(String[] args) {
  15. ConnectionFactory cf = new ActiveMQConnectionFactory(URL); //创建工厂链接对象
  16. Connection connection = null;
  17. Session session = null;
  18. Queue queue = null;
  19. MessageProducer producer = null;
  20. try {
  21. connection = cf.createConnection(); //使用工厂创建链接
  22. connection.start(); //开启连接
  23. session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); //使用连接对象创建会话
  24. queue = session.createQueue(QUEUE_ONE); //使用会话创建目标对象
  25. producer = session.createProducer(queue); // 使用会话、目标对象创建生产者对象
  26. Message message = session.createTextMessage("hello ,i'm not good"); //使用会话创建消息对象
  27. producer.send(message);//发送消息
  28. System.out.println("send:"+message.toString());
  29. } catch (JMSException e) {
  30. e.printStackTrace();
  31. }finally {
  32. if(producer != null) {
  33. try {
  34. producer.close();
  35. } catch (JMSException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. if(session != null) {
  40. try {
  41. session.close();
  42. } catch (JMSException e) {
  43. e.printStackTrace();
  44. }
  45. }
  46. if(connection != null) {
  47. try {
  48. connection.close();
  49. } catch (JMSException e) {
  50. e.printStackTrace();
  51. }
  52. }
  53. }
  54. }
  55.  
  56. }

Consumer 消费者

  1. import static commons.Constants.*;
  2.  
  3. import javax.jms.Connection;
  4. import javax.jms.ConnectionFactory;
  5. import javax.jms.JMSException;
  6. import javax.jms.Message;
  7. import javax.jms.MessageConsumer;
  8. import javax.jms.MessageListener;
  9. import javax.jms.Queue;
  10. import javax.jms.Session;
  11. import javax.jms.TextMessage;
  12.  
  13. import org.apache.activemq.ActiveMQConnectionFactory;
  14.  
  15. public class Consumer {
  16.  
  17. public static void main(String[] args) {
  18. ConnectionFactory cf = new ActiveMQConnectionFactory(URL);
  19. Connection connection = null;
  20. Session session = null;
  21. MessageConsumer consumer = null;
  22. try {
  23. connection = cf.createConnection();
  24. connection.start();
  25. session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
  26. Queue queue = session.createQueue(QUEUE_ONE);
  27. consumer = session.createConsumer(queue);
  28. //向consumer对象中设置一个messageListener对象,用来接收消息
  29. consumer.setMessageListener(new MessageListener() {
  30. public void onMessage(Message message) {
  31. if(message instanceof TextMessage) { //当前测试,仅测试Text类型的消息
  32. TextMessage text = (TextMessage)message;
  33. try {
  34. System.out.println(text.getText());
  35. } catch (JMSException e) {
  36. e.printStackTrace();
  37. }
  38. }
  39. }
  40. });
  41. System.out.println("consumer : "+System.currentTimeMillis());
  42. System.in.read();
  43. }catch(Exception e) {
  44. e.printStackTrace();
  45. }finally {
  46. if(consumer != null) {
  47. try {
  48. consumer.close();
  49. } catch (JMSException e) {
  50. e.printStackTrace();
  51. }
  52. }
  53. if(session != null) {
  54. try {
  55. session.close();
  56. } catch (JMSException e) {
  57. e.printStackTrace();
  58. }
  59. }
  60. if(connection != null) {
  61. try {
  62. connection.close();
  63. } catch (JMSException e) {
  64. e.printStackTrace();
  65. }
  66. }
  67. }
  68. }
  69. }

Constants 常量类

  1. package commons;
  2.  
  3. public interface Constants {
  4.  
  5. String URL = "tcp://192.168.49.128:61616";
  6.  
  7. String QUEUE_ONE = "CQC_ONE";
  8.  
  9. }

ActiveMQ demo的更多相关文章

  1. activemq demo指南

    queue与topic的技术特点对比   topic queue 概要 Publish Subscribe messaging 发布订阅消息 Point-to-Point 点对点 有无状态 topic ...

  2. 消息中间件系列一:入门、JMS规范、ActiveMQ使用

    一.入门 1. 消息中间件的定义 没有标准定义,一般认为,采用消息传送机制/消息队列 的中间件技术,进行数据交流,用在分布式系统的集成 2. 为什么要用消息中间件 解决分布式系统之间消息的传递.电商场 ...

  3. ActiveMQ 集群配置 高可用

    自从activemq5.9.0开始,activemq的集群实现方式取消了传统的Pure Master Slave方式,增加了基于zookeeper+leveldb的实现方式,其他两种方式:目录共享和数 ...

  4. activemq 实战 四 传输连接器-Transport connectors 4.2

    In order to exchange messages, producers and consumers (clients) need to connect to the broker. This ...

  5. 消息队列之 ActiveMQ(山东数漫江湖)

    简介 ActiveMQ 特点 ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效.可扩展.稳定.安全的企业级消息通信. 它的设计目标是提供标准的.面向消息的.多语言 ...

  6. Spring和ActiveMQ集成实现队列消息以及PUB/SUB模型

    前言:本文是基于Spring和ActiveMQ的一个示例文章,包括了Point-To-Point的异步队列消息和PUB/SUB(发布/订阅)模型,只是做了比较简单的实现,无任何业务方面的东西,作为一个 ...

  7. java之消息队列ActiveMQ实践

    原创论文:https://www.cnblogs.com/goujh/p/8510239.html 消息队列的应用场景: 消息队列应用场景 异步处理,应用解耦,流量削锋和消息通讯四个场景 异步处理: ...

  8. JMS学习七(ActiveMQ之Topic的持久订阅)

    非持久化订阅持续到它们订阅对象的生命周期.这意味着,客户端只能在订阅者活动时看到相关主题发布的消息.如果订阅者不活动,它会错过相关主题的消息.如果花费较大的开销,订阅者可以被定义为durable(持久 ...

  9. 消息队列之 ActiveMQ

    简介 ActiveMQ 特点 ActiveMQ 是由 Apache 出品的一款开源消息中间件,旨在为应用程序提供高效.可扩展.稳定.安全的企业级消息通信. 它的设计目标是提供标准的.面向消息的.多语言 ...

随机推荐

  1. 【转】C#中Serializable序列化实例详解

    这篇文章主要介绍了C#中Serializable序列化,以实例形式详细讲述了系列化的技术及各种序列化方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了C#中Serializable序列化.分 ...

  2. ArrayBlockingQueue源码解析(1)

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 注意:在阅读本文之前或在阅读的过程中,需要用到ReentrantLock,内容见<第五章 Reentr ...

  3. C语言通过匿名管道实现反弹式CMDShell

    #pragma comment(lib,"ws2_32.lib") #ifdef _MSC_VER #pragma comment( linker, "/subsyste ...

  4. Git文件状态

    在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. Git库所在的文件夹中的文件大致有4种状态: Untracked:未 ...

  5. jquery中的ajax请求,阻塞ui线程的解决方案(自己总结的demo)

    /*****************************************************/ function getAjaxData(url,data){ showLoading( ...

  6. Vue2.5开发去哪儿网App 搜索功能完成

    效果展示: Search.vue: <div class="search-content" ref="search" v-show="keywo ...

  7. vue仿微信网页版|vue+web端聊天室|仿微信客户端vue版

    一.项目介绍 基于Vue2.5.6+Vuex+vue-cli+vue-router+vue-gemini-scrollbar+swiper+elementUI等技术混合架构开发的仿微信web端聊天室— ...

  8. C#简单操作MongoDB

    一 安装MongoDB 官网按需下载, 安装, 一步到位. 二 VS创建新项目 创建一个.netcore console项目, 然后nuget安装驱动MongoDB.Driver 三 建立连接 在Pr ...

  9. docker学习实践之路[第一站]环境安装

    安装虚拟机(VMware Workstation) 这步就不多说了,下载完软件之后一路点击下一步,直至安装完成. 安装Ubuntu 16.4 server 下载ubuntu 16.4,并安装在虚拟机中 ...

  10. (转)9 db2trc案例2(1,2)

    原文:http://book.51cto.com/art/200906/130068.htm 9.3.3  db2trc案例2(1) 在AIX操作系统上,系统原先运行良好,而后用户从DB2 V8 FP ...