activemq

SpringBoot JMS(ActiveMQ) 使用实践

蹲街弑〆低调 提交于 2020-04-09 11:01:10
ActiveMQ 1. 下载windows办的activeMQ后,在以下目录可以启动: 2. 启动后会有以下提示 3. 所以我们可以通过http://localhost:8161访问管理页面,通过tcp://localhost:61616来连接消息服务器,用到的用户名和密码都在以下文件中(默认为admin=admin) springboot连接ActiveMQ 1. 加入依赖: spring-boot-starter-activemq 2. 配置连接属性: spring.activemq.broker-url=tcp://localhost:61616 spring.activemq.user=admin spring.activemq.password=admin spring.activemq.pool.enabled=false 消息的发送和接收 生产者/消费者模式 1. 创建生产者 package com.example.demo8activemq.jms; import org.apache.activemq.command.ActiveMQQueue; import org.springframework.jms.core.JmsMessagingTemplate; import org.springframework.stereotype.Service;

ActiveMQ topic 注解监听

▼魔方 西西 提交于 2020-04-09 09:54:46
之前自己在玩activemq的时候了解到mq主要有2种监听方式,一种是队列Queue,另外一种是主题Topic 队列的实现方式比较简单,后面在研究使用注解实现topic监听的时候,,发现mq发送的消息监听类无法接收到,于是百度了一下也没有标准答案,结合了一下源码还有百度,发现需要先配置topic主题jsm监听容器工厂,原因是jms监听默认的是队列Queue形式接收的。以下是xml配置: <!-- Topic主题jsm监听容器工厂 --> <bean id="jmsListenerContainerTopicFactory" class="org.springframework.jms.config.DefaultJmsListenerContainerFactory"> <property name="connectionFactory" ref="jmsConnectionFactoryExtend" /> <!-- pub/sub模型(发布/订阅) --> <property name="pubSubDomain" value="true" /> </bean> 然后在接收类注解使用containerFactory属性,把刚刚配置的监听容器工厂用上,代码如下: package com.demo.activemq; import javax.jms.JMSException;

Activemq can't run due to address already in use error

走远了吗. 提交于 2020-04-08 08:45:33
问题 How to solve the error? Java Runtime: Oracle Corporation 1.7.0_05 E:\Program Files\Java\jdk1.7.0_05\jre Heap sizes: current=1004928k free=994439k max=1004928k JVM args: -Dcom.sun.management.jmxremote -Xms1G -Xmx1G -Djava.util.logging.config.file=logging.properties -Dactivemq.classpath=F:\workspace\Eclipse java\destinytalk\DestinyServer\apache-activemq-5.6.0\bin\..\conf;F:\workspace\Eclipse java\destinytalk\DestinyServer\apache-activemq-5.6.0\bin\../conf;F:\workspace\Eclipse java\destinytalk

linux 重启tomcat和activemq

自古美人都是妖i 提交于 2020-04-07 19:27:53
使用ssh命令连接服务器 linux下 tomcat的启动 1、使用cd命令进入到bin文件夹 cd home/apache-tomcat-8.5.15/bin 2、输入 ./startup.sh 启动tomcat 3、输入 ./shutdown.sh 关闭tomcat linux下启动acitvemq 1、使用cd命令进入到acitvemq的bin文件夹 cd /home/apache-activemq-5.13.3 2、输入 ./activemq start 启动activemq 3、输入 ./activemq stop 关闭activemq 在shell输入 ps -ef|grep java 可以查看当前的java进程 用来验证tomcat和mq是否启动成功 也可以使用kill -9 pid直接结束该进程 这些步骤同样也可以用来重启jboss 来源: https://www.cnblogs.com/lichenx/p/9564087.html

ActiveMQ 5.15.12(2020年3月9日)

安稳与你 提交于 2020-04-07 19:04:56
这些是当前版本。 对于以前的版本,请参阅 以前的版本 页面。 ActiveMQ 5.15.12(2020年3月9日) 文献资料 视窗 apache-activemq-5.15.12-bin.zip SHA512 GPG签名 Unix / Linux / Cygwin apache-activemq-5.15.12-bin.tar.gz SHA512 GPG签名 源代码分发: activemq-parent-5.15.12-source-release.zip SHA512 GPG签名 来源: https://www.cnblogs.com/endv/p/12654842.html

消息队列如何利用标签实现消息过滤

大城市里の小女人 提交于 2020-04-07 07:27:20
场景介绍 一个消息队列(MQ)存储的消息,可以包含不同实际用途。如果这些消息不加区分,消费者每次消费都会按顺序拉取消息,直到完成对所有消息的消费。如果消费者只对某一类型的消息感兴趣,那么将所有消息都消费一遍必会影响消费者处理效率。 解决方案 分布式消息服务DMS 是稳定可靠的消息队列服务,提供普通队列、有序队列、Kafka、ActiveMQ、RabbitMQ,兼容HTTP、TCP、AMQP协议,应用于系统解耦、异步通信、流量削峰去谷、第三方集成等场景。DMS提供消息标签的能力,支持生产者为每条消息提供一个或多个标签(tag)。标签(tag)是用来区分某个 消息队列(MQ) Topic 下的消息分类,通常情况下,标签(tag)可以用来区分同一个 Topic 下相互关联的消息,就像全集和子集的关系,流程先后的关系。消费者则根据标签(tag)的内容来过滤消息,确保每个消费者最终只会消费到它感兴趣的消息类型,提高消息消费效率。 以金融交易场景为例,在一种交易中可能会产生多种类型的消息,如股票(stock),基金(fund),贷款(loan)等。这些消息会通过交易(business)Topic发送到business_Topic 的队列(MQ)中,并传递给不同的处理系统,如股票系统,基金系统,贷款系统,实时分析系统等。然而基金系统只关心基金类型的消息,而实时分析系统可能需要获取到所有类型的消息

ActiveMQ —— <一> 概述

别说谁变了你拦得住时间么 提交于 2020-04-06 21:59:34
本文最早发布与本人的博客园 ( https://www.cnblogs.com/libingbin/p/6562007.html ) ,因为项目需要,故决定出一个关于 消息队列ActiveMQ 完整的理论介绍与实际项目应用案例的系列文章! 1 业务需求描述   举例描述:     再警情通报的业务时通过发送消息界面可以选择     警情联络,和船情通报两种消息   发送方式可分为     一对一发送:部门对部门、个人对个人     一对多发送:部门对多部门、个人对多人 2 功能实现设计   基于上述需求描述,在消息传输功能实现上选用activemq进行警情联络消息传输功能的实现。 1. 基础概念   ActiveMQ:是Apache出品,最流行的,能力强劲的开源消息总线。是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。   JMS(Java消息服务):是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 2. JMS消息模式   1) 点对点或队列模式   每个消息只能有一个消费者。消息的生产者和消费者之间没有时间上的相关性,无论消费者在生产者发送消息的时候是否处于运行状态,它都可以提取消息。  2) Pub/Sub 发布/订阅模式   每个消息可以有多个消费者

zabbix监控ActiveMQ集群状态 自动发现并自动监控队列

那年仲夏 提交于 2020-04-06 19:12:03
zabbix版本3.4.11 activemq5.9 系统centos6or7 监控硬件物理空间是否充足: ActiveMQ有3个重要的参数,存储空间百分比,内存空间百分比和临时空间百分比。这三个参数的意义很明显,如果值到了100,则表明硬件空间已满,Broker不能再接受任何的消息了,除非有消息消费并且删除,Broker才可以再接收消息。 如果这些值长时间都比较高,接近阀值,则表示硬件的配置不能满足要求,建议更换硬件,或者给予ActiveMQ的环境配置比较小,建议给予更多的资源给ActiveMQ。 如果平时保持在一个稳定值,有一段时间突然增高,则有两种可能。一种可能是用户量大增(当然大家都希望是这样),另一种可能是某个或者某几个消息消费者死机了。需要人工干预重启。 还有一种可能是平时保持在一个稳定值,但是一段时间内突然降低了,则表示消息的生产者可能出现问题了。 监控队列: 如果ActiveMQ使用队列,需要监控队列的未消费消息数量,消费者数量,消息入队和出队的数量。 未消费消息数量的含义和监控硬件的内存和硬盘空间差不多,过多的消息堆积可能是有消息消费者死机。 消费者数量应该是一个相对固定的值,这个值减少,就直接表示有的消费者已经死机。 消息入队和出队数量如果增长缓慢或者不增长,则表示消息发送者已经死机。一般是通过增量监控。 监控方式 是访问 activemq的管理端口8161接口

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

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

rocketmq 顺序消费,消息事物

爱⌒轻易说出口 提交于 2020-04-06 03:41:42
RocketMQ详解(7)——顺序消费 分布式事务-RocketMQ消息事务设计思路及Demo RabbitMQ、RocketMQ、ActiveMQ 、Kafka 四个分布式消息队列的区别 深入理解RocketMQ的消费者组、队列、Broker,Topic 来源: oschina 链接: https://my.oschina.net/miaojiangmin/blog/3218038