消息队列activeMQ之(queue类型)的小demo(学习笔记之三)

原创 2018年04月14日 22:07:11
1、建立pom项目添加pom依赖
<dependency>
  <groupId>org.apache.activemq</groupId>
  <artifactId>activemq-all</artifactId>
  <version>5.11.2</version>
</dependency>
2、创建man方法向MQ写入队列消息
package com.demo;



import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * Created by luwan on 2018/4/14.
 */
public class App {
    public static void main(String[] args) throws JMSException {
        // 发送一个队列模式的消息
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.223.131:61616");
        Connection connection = connectionFactory.createConnection();
        connection.start();

        // 创建会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        // 消息对象,由于mq是支持很多个业务功能的,每一个业务功能都放在不同的路径下面
        Queue queue = session.createQueue("office-queue");

        // 消息内容
        TextMessage textMessage = session.createTextMessage("我渴了,来杯水...");

        // 发送端
        MessageProducer producer = session.createProducer(queue);

        // 发送消息
        producer.send(textMessage);

        // 关闭连接
        producer.close();
        session.close();
        connection.close();

    }
}
3、查看MQ的消息
4、另一个comsumer接受MQ消息

package macomsumer;

import org.apache.activemq.ActiveMQConnectionFactory;

import javax.jms.*;

/**
 * Created by luwan on 2018/4/14.
 */
public class App {
    public static void main(String[] args) throws Exception {
        // 创建连接
        ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.223.131:61616");
        Connection connection = connectionFactory.createConnection();
        connection.start();

        // 创建 会话
        Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

        // 创建消息对象
        Queue queue = session.createQueue("office-queue");

        // 接收端
        MessageConsumer consumer = session.createConsumer(queue);

        // 接收消息
        consumer.setMessageListener(new MessageListener() {
            @Override
            public void onMessage(Message message) {
                // 打印结果
                TextMessage textMessage = (TextMessage) message;
                String text = "";
                try {
                    text = textMessage.getText();
                } catch (JMSException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                System.err.println(听到了" + text + ",积极的响应了要求。。。");
            }
        });
        // 等待接收消息
        System.in.read();
    }
}

4.客户端表格的字段含义

                        挂起的消息                         在监听的人数             入队的消息              消费的消息


1 队列模式的消息,默认永久保存

2 订阅模式的消息,默认不永久保存,如果需要永久保存,需要为consumer在服务器上初始化一个永久保存的存储空间




ActiveMQ队列特性:队列选项(Destination options)

队列选项(Destination options) 队列选项是给consumer在JMS规范之外添加的功能特性,通过在队列名称后面使用类似URL的语法添加多个选项。 ...
  • KimmKing
  • KimmKing
  • 2012-12-26 21:29:41
  • 9205

消息队列ActiveMQ(一)——Queue方式和Topic方式

下载地址 http://activemq.apache.org/download.html,这里下载的版本是5.13.0windows下安装 直接解压缩,运行apache-activemq-5.1...
  • u013176684
  • u013176684
  • 2016-03-04 17:56:05
  • 2651

ActiveMQ消息队列的应用 C#客户端 Web后端

写在前面 整个项目就是实现C#客户端往消息队列生产10W条消息,Ajax Web读取这10W条消息,后台采用Tomcat。 项目搭建环境: jdk1.7.0_04 MyEclipse10....
  • PeterPan_hai
  • PeterPan_hai
  • 2016-08-18 15:42:46
  • 2507

ActiveMq C#客户端 消息队列的使用(存和取)

1、准备工具 VS2013Apache.NMS.ActiveMQ-1.7.2-bin.zip apache-activemq-5.14.0-bin.zip 2、开始项目 VS2013...
  • PeterPan_hai
  • PeterPan_hai
  • 2016-08-29 17:30:46
  • 5750

ActiveMQ实战之 Queue点对点消息

对于此类消息,其实就是指使用JMS中的发P2P(点对点)消息模型的消息,下面是一个简单的例子 消息发送者package com.googlecode.garbagecan.jmsstudy.ac...
  • kongxx
  • kongxx
  • 2011-03-08 08:21:00
  • 10326

消息队列:快速上手ActiveMQ消息队列的JMS方式使用(两种模式:Topic和Queue的消息推送和订阅)

1、实现功能希望使用一套API,实现两种模式下的消息发送和接收功能,方便业务程序调用1、发送Topic2、发送Queue3、接收Topic4、接收Queue2、接口设计根据功能设计公共调用接口/** ...
  • eguid_1
  • eguid_1
  • 2018-02-09 17:55:34
  • 95

java消息队列ActiveMQ的简单使用

activeMQ是学习java消息队列的实现项目,使用jfinal + jfinal-ext + activeMQ + quartz快速构建。 1.消息队列消息队列,其实是一种基于数据结构实现的服务。...
  • mg0324
  • mg0324
  • 2015-11-05 18:39:38
  • 6683

AMQ 实现消息队列 基本DEMO

  • 2017年03月30日 15:45
  • 47.25MB
  • 下载

消息队列MQ实践----实现Queue(队列消息)和Topic(主题消息)两种模式

之前有篇文件介绍了生产消费者模式(http://blog.csdn.net/canot/article/details/51541920),当时是通过BlockingQueue阻塞队列来实现,以及在R...
  • canot
  • canot
  • 2016-12-11 12:04:22
  • 10762

消息队列-ActiveMQ学习笔记(二)-点对点消息实现

创建java项目,并导入jar包,activemq-all.jar包含了其全部的jar包 消息提供者代码: package com.feiyang.activemq; import java...
  • qq_26504875
  • qq_26504875
  • 2016-07-01 15:42:12
  • 1513
收藏助手
不良信息举报
您举报文章:消息队列activeMQ之(queue类型)的小demo(学习笔记之三)
举报原因:
原因补充:

(最多只允许输入30个字)