activeMQ(1)
消息中间件
作用:解耦 削峰 异步

JMS编码总体架构:

一般代码流程
@Test
public void test1(){
//创建连接工厂
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(MQ_URL);
try {
Connection connection = factory.createConnection();
connection.start(); //创建会话session
Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE); //创建目的地(具体是队列还是主题)
Queue queue = session.createQueue("myFirstQueue"); //创建消息的生产者
MessageProducer producer = session.createProducer(queue);
for (int i = 0; i < 3; i++) {
//创建消息
TextMessage message = session.createTextMessage("hello--->"+i);
//通过消息生产者发送消息至mq
producer.send(message);
}
producer.close();
session.close();
connection.close(); }catch (Exception e){
e.printStackTrace();
} System.out.println("********************"); }

@Test
public void test2(){
//创建连接工厂
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(MQ_URL);
try {
Connection connection = factory.createConnection();
connection.start(); //创建会话session
Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE); //创建目的地(具体是队列还是主题)
Queue queue = session.createQueue("myFirstQueue"); //创建消息的消费者
MessageConsumer consumer = session.createConsumer(queue);
for (int i = 0; i < 3; i++) {
TextMessage message = (TextMessage)consumer.receive(); //阻塞式接收
if(message!=null){
System.out.println("receive---->"+message.getText());
}
}
//监听器式接收
consumer.setMessageListener((Message message) -> {
if (message != null && message instanceof TextMessage) {
try {
System.out.println(((TextMessage) message).getText());
} catch (Exception e) {
e.printStackTrace();
}
}
});
consumer.close(); session.close(); connection.close(); }catch (Exception e){ e.printStackTrace(); } System.out.println("********************"); }


consumer.setMessageListener((Message message) -> {
if (message != null && message instanceof TextMessage) {
try {
System.out.println(((TextMessage) message).getText());
} catch (Exception e) {
e.printStackTrace();
}
}
});
activeMQ(1)的更多相关文章
- Java消息队列--ActiveMq 实战
1.下载安装ActiveMQ ActiveMQ官网下载地址:http://activemq.apache.org/download.html ActiveMQ 提供了Windows 和Linux.Un ...
- 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)
Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...
- (jms)ActiveMQ 安装配置.
前言 ActiveMQ他是Apache出品的一个JMS提供者,管理会话和队列,运行在JVM下,支持多种语言,如JAVA,C++,C#,应用协议: OpenWire,Stomp REST,WS Noti ...
- node(ActiveMq)
简单尝试了node下的ActiveMQ 1.下载apache-activemq-5.9.0,执行bat文件: 2.登录http://localhost:8161/admin可查看其管理后台: 3.安装 ...
- ActiveMQ的集群方案对比及部署
转载:http://blog.csdn.net/lifetragedy/article/details/51869032 ActiveMQ的集群 内嵌代理所引发的问题: 消息过载 管理混乱 如何解决这 ...
- JMS学习之路(一):整合activeMQ到SpringMVC
JMS的全称是Java Message Service,即Java消息服务.它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息.把它应用到实际的业务需求中的话我们可以 ...
- ActiveMQ消息队列的使用及应用
这里就不说怎么安装了,直接解压出来就行了. 谢绝转载,作者保留所有权力 目录: 一:JMQ的两种消息模式 1.1:点对点的消息模式 1.2:订阅模式 二:点对点的实现代码 2.1:点对点的发送端 2 ...
- 从零开始学 Java - Spring 集成 ActiveMQ 配置(一)
你家小区下面有没有快递柜 近两年来,我们收取快递的方式好像变了,变得我们其实并不需要见到快递小哥也能拿到自己的快递了.对,我说的就是类似快递柜.菜鸟驿站这类的代收点的出现,把我们原来快递小哥必须拿着快 ...
- Spring下ActiveMQ实战
MessageQueue是分布式的系统里经常要用到的组件,一般来说,当需要把消息跨网段.跨集群的分发出去,就可以用这个.一些典型的示例就是: 1.集群A中的消息需要发送给多个机器共享: 2.集群A中消 ...
- ActiveMQ(li)
一.ActiveMQ 首先,ActiveMQ不是一个框架,它不是struct,webx,netty这种框架,它更像是tomcat服务器,因为你使用它之前必须启动它,activeMQ和JMS的关系有点类 ...
随机推荐
- 3、docker常用命令:help、镜像命令、容器命令
1.帮助命令 1.docker version 2.docker info 3.重点掌握:docker --help 2.镜像命令 1.docker,镜像,容器关系 2.docker images ( ...
- oracle 分配表权限给用户的写法
grant select on xxxx.xxxxx_TB to sb;grant select on xxxx.xxxxxx_tb to sb;
- RestTemplate发送GET请求
import org.springframework.web.client.RestTemplate; @Component @Slf4j public class JsSdkUtil { /** * ...
- pypdf2:下载Americanlife网页生成pdf合并pdf并添加书签
初步熟悉 安装 pip install pypdf2 合并并添加书签 #!/usr/bin/env python3.5 # -*- coding: utf-8 -*- # @Time : 2019/1 ...
- 我关了solution并且删掉个sln.DotSettings.user后似乎也可以了
"Go To Definition" is disabled in Visual Studio http://social.msdn.microsoft.com/Forums/en ...
- 小米oj 帮小学生排队(排序+插入)
帮小学生排队 序号:#18难度:有挑战时间限制:1000ms内存限制:10M 描述 用一个数组表示一群正在排队的小学生,每个小学生用一对整数 H, K 来表示:H 表示这个小学生的身高,K 表示这个 ...
- 树莓派安装QT(全部库包括)
在网上现有的资料中大部分只有前两个命令,少量有三个命令,因此写下该博客 在树莓派上安装QT5的全部库,包括QtQuick.QtMultimedia库. sudo apt-get install qt5 ...
- ubuntu php
ubuntu 12.04安装php7 和配置apache2 https://www.cxybj.com/?p=231 https://blog.csdn.net/u011608531/article/ ...
- linux系统及命令学习
1,基本概念 Shell(命令行):是一个程序,接受键盘输入的命令,并将命令传递给操作系统进行执行. Bash:Bourne Again Shell, 是大多数linux系统分之中所带的一种shell ...
- 解决MySQL5.7输入show databases 不显示内容的问题
当出现输入其他命令不显示内容的时候,请检查输入语句的后面是否带上了英文输入下的分号,同时别忘了database后面还有个s. 5. 删除数据库drop database XX(数据库名);