activemq

Active MQ 消息队列

孤者浪人 提交于 2020-04-02 08:30:07
目录 1、前言 2、Active MQ简介 3、Active MQ单点部署 1、前言 MQ是 消息中间件 ,是一种在 分布式系统 中 应用程序 借以 传递消息 的 媒介 ,常用的有ActiveMQ,RabbitMQ,kafka。 2、Active MQ简介 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。 ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 官网: http://activemq.apache.org/ 特点: 支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议 完全支持JMS客户端和Message Broker中的企业集成模式 支持许多高级功能,如消息组,虚拟目标,通配符和复合目标 完全支持JMS 1.1和J2EE 1.4,支持瞬态,持久,事务和XA消息 Spring支持,以便ActiveMQ可以轻松嵌入到Spring应用程序中,并使用Spring的XML配置机制进行配置 专为高性能集群,客户端 - 服务器,基于对等的通信而设计 支持可插拔传输协议,例如in-VM,TCP,SSL,NIO,UDP,多播,JGroups和JXTA传输

五分钟学后端技术:如何学习Java工程师必知必会的消息队列

我的未来我决定 提交于 2020-03-31 23:01:32
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者。 什么是消息队列 “RabbitMQ?”“Kafka?”“RocketMQ?”...在日常学习与开发过程中,我们常常听到消息队列这个关键词,可能你是熟练使用消息队列的老手,又或者你是不懂消息队列的新手,不论你了不了解消息队列,本文都将带你搞懂消息队列的一些基本理论。如果你是老手,你可能从本文学到你之前不曾注意的一些关于消息队列的重要概念,如果你是新手,相信本文将是你打开消息队列大门的一板砖。 根据百度百科的说法,“消息队列”是在消息的传输过程中保存消息的容器。消息队列管理器在将消息从它的源中继到它的目标时充当中间人。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它。` 为什么要使用消息队列 我觉得使用消息队列主要有两点好处: 1.通过异步处理提高系统性能(削峰、减少响应所需时间); 2.降低系统耦合性。如果在面试的时候你被面试官问到这个问题的话,一般情况是你在你的简历上涉及到消息队列这方面的内容,这个时候推荐你结合你自己的项目来回答。 《大型网站技术架构》第四章和第七章均有提到消息队列对应用性能及扩展性的提升。 在我平时的日常工作中,用到消息队列的场景可不少,比如,我有一个定时任务需要在A应用每天7点开始调度,那么定时任务系统如何告诉这个A应用呢

02 activemq的queue模式

无人久伴 提交于 2020-03-29 18:44:51
activemq共有两种模式,一是点对点,一是发布和订阅,不管是哪种方式,都包含两个角色,一是消息的生产者,一是消息的消费者。点对点是消息只能被一个消费者收到,消息必达。本文将阐述使用java完成queue模式的应用。 1、前提约束 已经安装和启动activemq https://www.jianshu.com/p/47d6d824ad50 2、使用idea创建一个maven的项目 https://www.jianshu.com/p/042073b7710b 3、修改pom.xml 在pom.xml中加入以下依赖: <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.15.3</version> </dependency> 4、创建一个消息的生产者 import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class P2PProducer { public static void main(String[] args) throws Exception{ //1.创建连接工厂 ActiveMQConnectionFactory

ativemq使用教程

邮差的信 提交于 2020-03-28 14:55:57
本文转自http://www.cnblogs.com/zhuxiaojie/p/5564187.html 目录: 一:JMQ的两种消息模式 1.1:点对点的消息模式 1.2:订阅模式 二:点对点的实现代码 2.1:点对点的发送端 2.2:点对点的接收端 三:订阅/发布模式的实现代码 3.1:订阅模式的发送端 3.2:订阅模式的接收端 四:发送消息的数据类型 4.1:传递javabean对象 4.2:发送文件 五:ActiveMQ的应用 5.1:保证消息的成功处理 5.2:避免消息队列的并发 5.2.1:主动接收队列消息 5.2.2:使用多个接收端 5.3:消息有效期的管理 5.4:过期消息,处理失败的消息如何处理 六:ActiveMQ的安全配置   6.1:管理后台的密码设置 6.2:生产消费者的连接密码 一:JMQ的两种消息模式 消息列队有两种消息模式,一种是点对点的消息模式,还有一种就是订阅的模式. 1.1:点对点的消息模式 点对点的模式主要建立在一个队列上面,当连接一个列队的时候,发送端不需要知道接收端是否正在接收,可以直接向ActiveMQ发送消息,发送的消息,将会先进入队列中,如果有接收端在监听,则会发向接收端,如果没有接收端接收,则会保存在activemq服务器,直到接收端接收消息,点对点的消息模式可以有多个发送端,多个接收端,但是一条消息,只会被一个接收端给接收到

SpringBoot项目启动报错An attempt was made to call a method that does not exist. 解决它!

[亡魂溺海] 提交于 2020-03-27 19:52:04
3 月,跳不动了?>>> 报错日志是这样的 *************************** APPLICATION FAILED TO START *************************** Description: An attempt was made to call a method that does not exist. The attempt was made from the following location: org.springframework.context.annotation.AnnotationConfigUtils.processCommonDefinitionAnnotations(AnnotationConfigUtils.java:259) The following method did not exist: org.springframework.beans.factory.annotation.AnnotatedBeanDefinition.setRole(I)V The method's class, org.springframework.beans.factory.annotation.AnnotatedBeanDefinition, is available from the following

MQ理论知识

笑着哭i 提交于 2020-03-27 14:01:44
3 月,跳不动了?>>> ActiveMQ简介: https://my.oschina.net/u/4284277/blog/3212385 ActiveMQ安装与使用: https://my.oschina.net/u/4284277/blog/3212386 SpringBoot整合ActiveMQ: https://my.oschina.net/u/4284277/blog/3212387 1.消息队列应用场景 异步处理、应用解耦、流量削峰和信息通讯四个场景 1.1 异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种: 1.串行方式;2.并行方式 1.串行方式:将注册信息写入 数据库 成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端 2.并行方式: 将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间 假设三个业务节点每个使用50毫秒钟,不考虑网络等其他开销,则串行方式的时间是150毫秒, 并行的时间可能是100毫秒。 因为CPU在单位时间内处理的请求数是一定的,假设CPU在1秒内吞吐量是100次。则串行方式1秒 内CPU可处理的请求量是7次(1000/150)。并行方式处理的请求量是10次(1000/100) 小结:如以上案例描述

SpringBoot整合ActiveMQ

落花浮王杯 提交于 2020-03-27 14:01:06
3 月,跳不动了?>>> ActiveMQ简介: https://my.oschina.net/u/4284277/blog/3212385 ActiveMQ安装与使用: https://my.oschina.net/u/4284277/blog/3212386 MQ理论知识: https://my.oschina.net/u/4284277/blog/3212391 1.SpringBoot整合ActiveMQ 在SpringBoot中集成ActiveMQ相对还是比较简单的,不需要安装什么服务, 默认使用内存中的ActiveMQ,配合外置ActiveMQ Server会更好. 1.1 创建工程maven子模块 1.1.1 创建mq_springBoot子模块 1.1.2 添加相关依赖 <!-- activemq启动器 不加这个,用springboot的启动器也可以,因为springboot内置了activemq--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> <version>2.0.5.RELEASE</version> </dependency> <!-- springBoot内置,可以不加

ActiveMQ安装与使用

[亡魂溺海] 提交于 2020-03-27 06:40:31
一 .安装运行ActiveMQ: 1.下载activemq wget http://archive.apache.org/dist/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.tar.gz 2.解压 tar -xf apache-activemq-5.9.0-bin.tar.gz [zcw@g1 ~]$ cd apache-activemq-5.9.0 [zcw@g1 apache-activemq-5.9.0]$ cd bin/ 3.运行: [zcw@g1 bin]$ activemq start 三种运行方式: (1)普通启动 ./activemq start (2)启动并指定日志文件 ./activemq start >tmp/smlog (3)后台启动方式nohup ./activemq start >/tmp/smlog 前两种方式下在命令行窗口关闭时或者ctrl+c时导致进程退出,采用后台启动方式则可以避免这种情况 管理后台为: http://ip:8161/admin/ 4.检查已经启动 ActiveMQ默认采用61616端口提供JMS服务,使用8161端口提供管理控制台服务,执行以下命令以便检验是否已经成功启动ActiveMQ服务。 打开端口:nc -lp 61616 & 查看哪些端口被打开

springmvc和activemq的整合使用

风流意气都作罢 提交于 2020-03-27 04:53:02
1、简介:ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。 2、建议在使用以前了解一下jms的一些知识 3、第一步:我们部署相关的activemq(我这里是采用自己本地linux虚拟机来实现的,以模拟中间推送消息的原理)   activemq下载地址: http://archive.apache.org/dist/activemq/ 我用的是目前最新的5.14.5版本 这里有这个zip的是windows用的,tar.gz的是Linux用的。我这里采用的Linux部署 将activemq的tar解压启动 启动方式在: /root/apache-activemq-5.14.5/bin/linux-x86-64 启动:./activemq start 暂停: ./activemq stop 重启:./activemq restart 启动起来后,访问地址为:http://192.168.5.10:8161/admin 账号密码:都是admin(默认) 开机自启:vi /etc/rc.local 然后在末尾加入 su - root -c '/usr/local

ActiveMQ 的安装

非 Y 不嫁゛ 提交于 2020-03-27 04:28:56
1. 在 http://activemq.apache.org/ 下载 ActiveMQ。Windows 系统选择下载 apache-activemq-x.x.x-bin.zip,Unix/Linux 系统下载 apache-activemq-x.xx.x-bin.tar.gz [huey@huey-K42JE ~]$ mkdir activemq [huey@huey-K42JE ~]$ cd activemq/ [huey@huey-K42JE activemq]$ wget http://apache.fayea.com/activemq/5.10.2/apache-activemq-5.10.2-bin.tar.gz 2. 解压 apache-activemq-x.x.x-bin.zip 或 apache-activemq-x.xx.x-bin.tar.gz [huey@huey-K42JE activemq]$ tar zxvf apache-activemq-5.10.2-bin.tar.gz 3. 在 bin 目录下运行启动脚本 [huey@huey-K42JE activemq]$ cd apache-activemq-5.10.2/bin/linux-x86-64/ [huey@huey-K42JE linux-x86-64]$ ./activemq start