activemq

ActiveMQ的安装与配置详情

爷,独闯天下 提交于 2020-02-28 13:39:10
(1)ActiveMQ的简介 MQ: (message queue) ,消息队列,也就是用来处理消息的,(处理JMS的)。主要用于大型企业内部或与企业之间的传递数据信息。 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。JMS 即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM(manager of managers)提供商都对JMS提供支持。 消息的主要模型有两种:PTP和PUB/SUB,即点对点(一对一)和发布订阅模式(一对多) P2P的特点:  三个重点:队列(queue) 生产者(sender) 消费者(receiver) 每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到他们被消费或超时。 每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中) 发送者和接收者之间在时间上没有依赖性,当发送者发送了消息之后

ActiveMQ学习之SpringBoot整合ActiveMQ------>队列生产者和消费者

一个人想着一个人 提交于 2020-02-28 02:56:55
一、pom <!--聚合工程集成关系--> <!--统一整合第三方框架依赖信息--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> </parent> <dependencies> <!-- -springboot 整合Web组件 整合SpringMVC 就会把传统方式的SpringMVC依赖的jar全部给下载来 --> <!-- 引入spring-boot-starter-web 帮你整合好所有相关的依赖jar包 原理 maven依赖传递 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--springboot整合activeMQ--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId>

ActiveMQ学习之Spring整合ActiveMQ------>监听配置

自作多情 提交于 2020-02-27 20:14:06
一、pom <dependencies> <!--activemq--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.15.9</version> </dependency> <!--activeMQ对jms的支持,整合spring和activemq--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.3.23.RELEASE</version> </dependency> <!--activeMQ所需要的pool--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-pool</artifactId> <version>5.15.9</version> </dependency> <!--fastjson--> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson

【ActiveMQ Tuning】System Environment

China☆狼群 提交于 2020-02-27 08:52:42
http://fusesource.com/docs/broker/5.4/tuning/GenTuning-SysEnv.html Overview :在研究ActiveMQ Broker优化之前,值的重点关注一下系统环境对于性能的影响。 Disk speed (磁盘速度):持久化的Broker,磁盘速度是一个重大的影响因素。举例来说:典型的桌面磁盘的寻道时间为9ms,而高性能的服务器磁盘寻道时间则为3ms。同样你需要确保磁盘没有过多的碎片。 Network performance (网络性能):不管是Broker是否持久化,网络速度都是一个限制因素。如果网络很慢的话,它会制约通过Broker的通道。一种策略是你可以压缩大消息。 (see Enabling compression ),它可以降低网络延迟的风险。因此,启动更多异步行为可能也是个好主意。 Hardware specification (硬件规格):重要的硬件基础包括CPU的速度和个数,broker的可用内存。特别的,提高可用内存可以提高多个服务的性能。 举例来说,如果broker的B-tree index可以全部加载到内存中的话,可以显著的减少对于磁盘读写的需求度。另外,如果消费者较慢,broker需要大量的内存用于接收消息。 Memory available to the JVM (JVM可用内存):使用 -Xmx

【ActiveMQ】记录一次activemq与jdk版本冲突问题

不想你离开。 提交于 2020-02-27 07:03:38
1.问题描述 系统环境 linux :centos6.8 jdk 1.7.0_79 ActiveMQ 版本:apache-activemq-5.15.0 以及 apache-activemq-5.15.3 在上传到linux中 中启动了 activemq 再次查看activemq status状态 都是未启动状态, 2.问题分析 经过 apache-activemq-5.15.0启动后 去查看并没有日志输出 换了一个版本较低的apache-activemq-5.15.3 还是失败 上网找了一下 我再次降低activemq版本 3.问题解决 使用这个版本就可以了。最后还是出在版本冲突问题上了。希望对你有帮助。 参考资料 https://blog.csdn.net/zlfprogram/article/details/74066857 https://blog.csdn.net/yanfeipei/article/details/75267384 来源: CSDN 作者: Jayiiiiii 链接: https://blog.csdn.net/jia970426/article/details/104447699

SpringBoot整合ActiveMQ

落花浮王杯 提交于 2020-02-27 04:53:53
首先去官网下载ActiveMQ,下载地址为 http://activemq.apache.org/download.html 选择ActiveMQ5,然后选择linux版本,如果你没有Linux也可以选择Windows版本 如果你是win系统,解压缩之后找到如下地址:\bin\win64双击activemq.bat启动mq 在浏览器中输入地址,这里使用默认的端口访问 http://localhost:8161/: 点击Manage ActiveMQ broker即可进入管理页面,默认账号密码都为admin。 Windows版本讲解到此告一段落,本文主要讲解linux版本的ActiveMQ,其实都是大同小异的,可以借鉴一下。 一、解压缩 1、将下载好的ActiveMQ包上传到Linux中 2、解压缩 tar -zxvf apache-activemq-5.15.11-bin.tar.gz 二、启动ActiveMQ cd apache-activemq-5.15.11 ./bin/activemq start 看到以下提示说明运行成功 浏览器中输入xxx.xx.xx.xx:8161即可访问,如下图所示 emmm,不急先来解释下名词吧; 1. queue(p2p模式):生产者生产的一个消息只能被一个消费者使用。比如微信公众号私信给我^_^ 2. topic(pub/sub)

聊聊artemis的BaseInterceptor

徘徊边缘 提交于 2020-02-27 04:52:37
序 本文主要研究一下artemis的BaseInterceptor BaseInterceptor activemq-artemis-master/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/BaseInterceptor.java public interface BaseInterceptor<P> { /** * Intercepts a packet which is received before it is sent to the channel * * @param packet the packet being received * @param connection the connection the packet was received on * @return {@code true} to process the next interceptor and handle the packet, * {@code false} to abort processing of the packet * @throws ActiveMQException */ boolean intercept(P packet, RemotingConnection

ActiveMQ学习之Broker

丶灬走出姿态 提交于 2020-02-27 01:55:21
一、概念 相当于一个ActiveMQ服务实例 Broker其实就是实现了用代码的形式启动了ActiveMQ将MQ嵌入到java代码中,以便随时用随时启动,在用的时候再去启动这样能节约资源,也保证了可靠性。 二、按照不同配置文件启动ActiveMQ 1、 先将ActiveMQ根目录下conf文件夹中的activemq.xml复制一份并重命名为activemq02.xml 命令(cp activemq.xml activemq02.xml) 2、启动activemq02.xml,默认启动的是activemq.xml 命令(./activemq start xbean:file:/usr/local/activeMQ/apache-activemq-5.15.11/conf/activemq02.xml) 三、嵌入式Broker 用ActiveMQ Broker作为独立的消息服务器来构建java应用。ActiveMQ也支持在虚拟机中通信,基于嵌入式的broker,能够无缝的集成其他java应用 四、代码 1、pom.xml中引入包 <!--activemq--> <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activemq-all</artifactId> <version>5.15.9</version

ActiveMQ学习之jdbc消息持久化

陌路散爱 提交于 2020-02-26 22:44:02
1、将mysql的驱动包复制到activemq的lib目录下 将mysql驱动包(驱动名称:mysql-connector-java-5.1.46.jar)复制到activemq的lib文件夹内 2、配置persistenceAdapter的jdbc 进入到安装目录根目录下conf文件夹中,打开activemq.xml,修改成jdbc的持久化 <persistenceAdapter> <!--dataSource将要引用的数据库bean名称,#相当于spring配置文件中的ref=""--> <!--createTablesOnStartup是否在启动的时候创建数据库表,默认是true--> <!--true为每次启动都会创建表,一般第一次启动时设置为true,之后改为false--> <jdbcPersistenceAdapter dataSource="#my-ds" createTablesOnStartup="true"/> </persistenceAdapter> 修改之前: 修改后: 3、数据库连接池配置 将下面配置到activemq.xml文件中,注意需要放在</broker>标签和<import>标签中间 <bean id="my-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method

ActiveMQ学习之消息存储和可持久化

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-26 16:32:26
一、activeMQ高可用 1、事物 2、签收 3、持久 4、可持久化 二、持久化机制 为了避免意外宕机以后丢失信息,需要做到重启后可以恢复消息队列,消息系统一般都会采用持久化机制 ActiveMQ持久化机制有:JDBC、AMQ、KahaDB和LevelDB,无论哪种持久化方式,消息的存储逻辑都是一致的。 就是在发送者将消息发送出去后,消息中心首先将消息存储到本地数据文件、内存数据库或者远程数据库等再试图将消息发送给接收者,成功则将消息从内存中删除,失败则继续尝试发送。 消息中心启动后首先要检查指定位置,如果有未发送成功的消息,则需要把消息发送出去。 三、消息持久化机制有哪些 1、AMQ Message Store : 基于文件存储方式,以前默认的消息存储方式,现在基本不用。AMQ是一种文件存储形式,它具有写入速度快和容易恢复的特点。消息存储在一个一个文件当中,文件默认大小为32M,当一个存储文件被全部消费,那么这个文件会被标识为可删除,在下一个清除阶段被删除 2、KahaDB消息存储: 基于日志文件,从5.4版本之后开始默认支持持久化插件,可适用于任何场景,提高了性能和恢复能力。消息存储使用一个事务日志和仅用一个索引文件来存储他所有的地址。KahaDB是一个专门针对消息持久化的解决方案,他对典型的消息使用模式进行优化。数据被追加到data logs中。当不在需要log文件中数据时