activemq

与activeMQ整合-1

送分小仙女□ 提交于 2020-03-18 17:17:08
(1)在pom.xml中引入ActiveMQ起步依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter- activemq </artifactId> </dependency> (2)创建消息生产者 /** * 消息生产者 * @author Administrator */ @RestController public class QueueController { @Autowired private JmsMessagingTemplate jmsMessagingTemplate; @RequestMapping("/send") public void send(String text){ jmsMessagingTemplate.convertAndSend("itcast", text); } } (3)创建消息消费者 @Component public class Consumer { @JmsListener(destination="itcast") public void readMessage(String text){ System. out .println("接收到消息:"+text); } } 测试:启动服务后

ActiveMQ消息中间件面试专题

元气小坏坏 提交于 2020-03-17 03:24:06
1.什么是ActiveMQ? activeMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效 的、可扩展的、稳定的和安全的企业级消息通信 2. ActiveMQ服务器宕机怎么办? 这得从ActiveMQ的储存机制说起。在通常的情况下,非持久化消息是存储在内存中的,持久化消息是 存储在文件中的,它们的最大限制在配置文件的节点中配置。但是,在非持久化消息堆 积到一定程度,内存告急的时候,ActiveMQ会将内存中的非持久化消息写入临时文件中,以腾出内存。 虽然都保存到了文件里,但它和持久化消息的区别是,重启后持久化消息会从文件中恢复,非持久化的临 时文件会直接删除。 那如果文件增大到达了配置中的最大限制的时候会发生什么 ?我做了以下实验: 设置2G左右的持久化文件限制,大量生产持久化消息直到文件达到最大限制,此时生产者阻塞,但消费 者可正常连接并消费消息,等消息消费掉一部分,文件删除又腾出空间之后,生产者又可继续发送消息, 服务自动恢复正常。 设置2G左右的临时文件限制,大量生产非持久化消息并写入临时文件,在达到最大限制时,生产者阻 塞,消费者可正常连接但不能消费消息,或者原本慢速消费的消费者,消费突然停止。整个系统可连接, 但是无法提供服务,就这样挂了。 具体原因不详,解决方案:尽量不要用非持久化消息,非要用的话,将临时文件限制尽可能的调大。

大型网站架构系列:分布式消息队列(二)

人盡茶涼 提交于 2020-03-14 13:15:06
本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka)。【第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源】 本次分享大纲 消息队列概述(见第一篇: 大型网站架构系列:分布式消息队列(一) ) 消息队列应用场景(见第一篇: 大型网站架构系列:分布式消息队列(一) ) 消息中间件示例(见第一篇: 大型网站架构系列:分布式消息队列(一) ) JMS消息服务 常用消息队列 参考(推荐)资料 本次分享总结 四、JMS消息服务 讲消息队列就不得不提JMS 。JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。 在EJB架构中,有消息bean可以无缝的与JM消息服务集成。在J2EE架构模式中,有消息服务者模式,用于实现消息与应用直接的解耦。 4.1消息模型 在JMS标准中,有两种消息模型P2P(Point to Point),Publish/Subscribe(Pub/Sub)。 4.1.1 P2P模式 P2P模式包含三个角色:消息队列(Queue),发送者(Sender),接收者(Receiver)

centos7安装activemq

纵然是瞬间 提交于 2020-03-14 02:20:46
activemq下载地址,http://activemq.apache.org/download.html,下载后解压,进入bin,直接运行 activemq start bin/activemq start INFO: Loading '/usr/local/activemq/bin/env' INFO: Using java '/usr/local/jdk8/bin/java' INFO: Starting - inspect logfiles specified in logging.properties and log4j.properties to get details INFO: pidfile created : '/usr/local/activemq/data/activemq.pid' (pid '3880') 默认端口是61616,可以查看端口有没被占用 [root@localhost init.d]# netstat -an|grep 61616 tcp6 0 0 :::61616 :::* LISTEN 端口61616加入防火墙,后台管理端口8161也加入防火墙 firewall-cmd --zone=public --add-port=61616/tcp --permanent firewall-cmd --zone=public --add-port

linux下安装activemq

戏子无情 提交于 2020-03-11 19:10:34
进入activemq官网,选择合适的版本下载(分别对应linux): http://activemq.apache.org/download-archives.html 上传至服务器/home,然后解压 #tar -zxvf apache-activemq-5.15.11-bin.tar.gz #cd apache-activemq-5.15.11/bin #./activemq start 访问: http://0.0.0.0:8161/index.html http://0.0.0.0:8161/admin 用户名:admin 密码:admin 修改用户名和密码: vi ./conf/jetty-realm.properties 服务启动 #ln -s /home/apache-activemq-5.15.11/bin/activemq /etc/init.d/ #/etc/init.d/activemq start 来源: CSDN 作者: wwweasy 链接: https://blog.csdn.net/wwweasy/article/details/104795939

springboot 整合ActiveMQ

谁说我不能喝 提交于 2020-03-07 03:25:15
简介 消息队列可以有效实现服务解耦,并提高系统的可靠性和可扩展性。ActiveMQ 是一个开源消息中间件,Apache ActiveMQ 对Spring 提供了支持,可以非常便捷的嵌入Spring。 异步消息中有两个很重要的概念,即消息代理(message broker)和目的地(destination),消息发送后将由消息代理接管。 异步消息主要有两种形式的目的地:队列(queue) 和主题(topic)。队列用于点对点(point to point)消息通信;主题用于发布订阅(publish/subscribe)的通讯。 二.流程 1.下载安装activemq并配置相关授权 2.pom.xml 引入activemq 依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> 3.application.yml 配置activemq 4.HelloController.java package com.vincent.controller; import com.vincent.model.R; import org.springframework.beans.factory

ActiveMQ中文乱码问题

白昼怎懂夜的黑 提交于 2020-03-05 19:34:34
在MQ的目录中找到webapps/admin/WEB-INF中修改web.xml文件 添加如下过滤器 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> 重启即可 ———————————————— 版权声明:本文为CSDN博主「daolingren」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https:/

activemq集群

元气小坏坏 提交于 2020-03-05 15:44:47
1、zookeeper 集群搭建 安装配置(配置 3 个)        3.2.1 生成 3 个文件          tar xf zookeeper-3.4.14.tar.gz -C /usr/local/zookeeper1          tar xf zookeeper-3.4.14.tar.gz -C /usr/local/zookeeper2          tar xf zookeeper-3.4.14.tar.gz -C /usr/local/zookeeper3      3.2.2 修改 zookeeper1 的配置文件(我的内网地址是 172.16.1.8 )          cd /usr/local/zookeeper1/conf          cp zoo_sample.cfg zoo.cfg          vim zoo.cfg         将文件里面的内容清空,后加入以下内容 tickTime=2000          initLimit=10          syncLimit=5          dataDir=/usr/local/zookeeper1/data 文件存放位置          clientPort=2181 端口          server.1=172.16.1.8:2881:3881

SpringBoot Log4j2 JMS Appender -> “JMS message Producer Not Available”

守給你的承諾、 提交于 2020-03-05 03:21:29
问题 I have a SpringBoot App I am trying to implement log4j2's JMS Appender. The app seems to find the appender but then I get an error: JMS message Producer Not Available I have declared a bean of return type org.apache.activemq.ActiveMQConnectionFactory and defined the appender and logger in my log4j2.xml (the logger works fine to a RollingFile and Console). I am unsure how to resolve this and can't find much on Google. log4j2.xml appender entry: <JMS name="jmsQueue" destinationBindingName=

分布式消息通信-ActiveMQ-JMS-笔记

三世轮回 提交于 2020-03-03 22:21:05
消息中间件的初步认识 什么是消息中间件? 消息中间件是指利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。 通过提供消息传递和消息排队模型,可以在分布式架构下扩展进程之间的通信。 消息中间件能做什么? 消息中间件主要解决的就是分布式系统之间消息传递的问题,它能够屏蔽各种平台以及协议之间的特性,实现应用程序之间的协同。 我们从注册这个服务可以看到,每一个子操作都是相对独立的, 同时,基于领域划分以后,发送激活邮件、发送营销短信、赠送积分及红包都属于不同的子域。 所以我们可以对这些子操作进行来实现异步化执行,类似于多线程并行处理的概念。 如何实现异步化呢? 用多线程能实现吗?多线程当然可以实现,只是,消息的持久化、消息的重发这些条件,多线程并不能满足。 所以需要借助一些开源中间件来解决。 而分布式消息队列就是一个非常好的解决办法,引入分布式消息队列以后,架构图就变成这样了( 下图是异步消息队列的场景 )。 通过引入分布式队列,就能够大大提升程序的处理效率,并且还解决了各个模块之间的耦合问题 这个是分布式消息队列的第一个解决场景【异步处理】 我们再来展开一种场景, 通过分布式消息队列来实现 流量整形 , 比如在电商平台的秒杀场景下,流量会非常大。 通过消息队列的方式可以很好的 缓解高流量的问题 用户提交过来的请求,先写入到消息队列。