activemq

ActiveMq 本地安装及启动(Windows)

匿名 (未验证) 提交于 2019-12-03 00:18:01
首先下载MQ的安装包 http://activemq.apache.org/download.html 1.点击最新版本的ActiveMQ的 2.这里有窗户版本和Linux的的版本,这里我们选择窗口版本 3.下载完成之后解压ZIP安装包,解压后得到如下文件夹 4.启动activeMq,我们用windows命令行模式启动,window + R,输入cmd打开命令窗口 5.启动命令窗口之后进入解压后的的ActiveMQ的文件夹 6.执行命令启动activeMq, bin\activemq start 命令行窗口输出如下图: 7.地址栏输入http:// localhost:8161 / admin访问activeMq 到此,ActiveMQ的的就安装完毕了。 文章来源: ActiveMq 本地安装及启动(Windows)

ActiveMq 本地安装及启动(Windows)

匿名 (未验证) 提交于 2019-12-03 00:18:01
首先下载MQ的安装包 http://activemq.apache.org/download.html 1.点击最新版本的ActiveMQ的 2.这里有窗户版本和Linux的的版本,这里我们选择窗口版本 3.下载完成之后解压ZIP安装包,解压后得到如下文件夹 4.启动activeMq,我们用windows命令行模式启动,window + R,输入cmd打开命令窗口 5.启动命令窗口之后进入解压后的的ActiveMQ的文件夹 6.执行命令启动activeMq, bin\activemq start 命令行窗口输出如下图: 7.地址栏输入http:// localhost:8161 / admin访问activeMq 到此,ActiveMQ的的就安装完毕了。 文章来源: ActiveMq 本地安装及启动(Windows)

activemq 配置持久化文件

匿名 (未验证) 提交于 2019-12-03 00:15:02
activemq.xml: ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------start <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the

SpringBoot整合ActiveMQ

匿名 (未验证) 提交于 2019-12-03 00:11:01
SpringBoot能很好的整合ActiveMQ,底层封装了很多繁琐的操作,让我们能够很简单的进行配置就能使用MQ 整合流程:    队列模式(queue):   1.加入依赖到pom.xml <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-activemq </artifactId> </dependency>   2.配置yml server : port : 7777 spring : activemq : broker - url : tcp : //127.0.0.1:61616 #MQ服务器地址 user : admin password : admin jms : pub - sub - domain : false #false = queue true = topic ,不写默认为队列 #定义队列名称 myqueue : queue - test   3.编写配置类bean,目的是灵活的获取信息 @Component @EnableJms public class configBean { @Value ( "${myqueue}" ) //获取队列的名字 private String myQueue ; @Bean /

ActiveMQ and embedded broker

谁说胖子不能爱 提交于 2019-12-03 00:04:07
EDIT: Rephrased the question: I want to use ActiveMQ as a messenger service between my server and client applications. I am trying to set up an embedded broker (i.e. not a separate process) within the server to handle the produced messages for my clients to consume. This queue is persisted. The broker initialisation as follows: BrokerService broker = new BrokerService(); KahaPersistenceAdapter adaptor = new KahaPersistenceAdapter(); adaptor.setDirectory(new File("activemq")); broker.setPersistenceAdapter(adaptor); broker.setUseJmx(true); broker.addConnector("tcp://localhost:61616"); broker

CentOS 7 安装ActiveMQ

匿名 (未验证) 提交于 2019-12-03 00:01:01
今天给大家介绍一下 CentOS 7 下如何安装ActiveMQ,每个步骤均为亲自己操作后记录。下面我们开始吧。 1、首先进入自己的目录下面,创建并进入 activeMQ 文件夹(mkdir activeMQ) 2、下载activityMQ(wget http://archive.apache.org/dist/activemq/5.14.5/apache-activemq-5.14.5-bin.tar.gz) 注意1:下载时间可能会比较长,也可以自行下载安装包上传。 注意2:如果此处报没有wget命令(wget: command not found)则需要先安装,yum install -y wget 3、解压文件(tar -zxvf apache-activemq-5.11.1-bin.tar.gz) 4、重命名文件夹为activemq(此步骤可忽略) 5、进入bin目录启动activemq(./activemq start) 6、查看activemy进程(ps -ef|grep activemq) 7、防火墙配置添加8161和61616端口(firewall-cmd --zone=public --add-port=8161/tcp --permanent (--permanent永久生效,没有此参数重启后失效)) 8、重新载入防火墙(firewall-cmd -

mqtt 与 MQ 的区别

匿名 (未验证) 提交于 2019-12-02 23:59:01
mqtt 与 MQ 的区别: mqtt :一种通信协议,类似人类交谈中的汉语、英语、俄语中的一种语言规范 MQ :一种通信通道,也叫消息队列,类似人类交谈中的用电话、email、微信的一种通信方式 json :一种内容格式,类似人类交谈中的排比句等方式 市面上的MQ产品很多,如阿里自研并开源RocketMQ,还有类似RabbitMQ、ActiveMQ,他们不管支持MQTT协议,还支持如AMQP、stomp协议等等, EMQ 使用的协议是mqtt 。 详细区别: 有三个基本概念:消息、消息协议、消息队列。 消息 :信息的载体 消息协议 :为了让消息发送者和消息接收者 都能够明白 消息所承载的信息(消息发送者需要知道如何构造消息;消息接收者需要知道如何解析消息),它们就需要按照一种统一的格式描述消息,这种统一的格式称之为消息协议。所以,有效的消息一定具有某一种格式;而没有格式的消息是没有意义的。 消息队列 :消息从发送者到接收者的方式也有两种。 一种为 即时消息通讯 ,也就是说消息从一端发出后(消息发送者) 立即就可以达到另一端( 消息接收者),这种方式的具体实现就是我们已经介绍过的 RPC ( 当然单纯的http通讯也满足这个定义 ); 另一种为 延迟消息通讯 ,即消息从某一端发出后,首先进入一个 容器进行临时存储 ,当达到某种条件后,再由这个容器发送给另一端。

中间件系列ActiveMQ,Rocketmq,Rabbitmq,Kafka,Mycat让你深入理解学习中间件

匿名 (未验证) 提交于 2019-12-02 23:57:01
分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦。现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注。 那么,消息中间件性能究竟哪家强? 带着这个疑问,我们中间件测试组对常见的三类消息产品(Kafka、RabbitMQ、RocketMQ)做了性能比较。 Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生大量数据的互联网服务的数据收集业务。 RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。 RocketMQ是阿里开源的消息中间件,它是纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点。RocketMQ思路起源于Kafka,但并不是Kafka的一个Copy,它对消息的可靠传输及事务性做了优化,目前在阿里集团被广泛应用于交易、充值

9.(ActiveMQ优化)消费端 prefetchSize 和 optimizeAcknowledge 解析

匿名 (未验证) 提交于 2019-12-02 23:56:01
是producer允许积压的消息的大小。 如需了解ProducerWindowSize概念,请移步 : ActiveMQ消息发送策略 在消费端通过设置 prefetchSize 就可以设置窗口的大小。 批量加载--prefetchSize prefetchSize的设置方法 Destination destination = session.createQueue("myQueue?consumer.prefetchSize=88"); 既然有批量加载,那么一定有批量确认,这样才算是彻底的优化。 批量确认--optimizeAcknowledge 是否开启优化ACK true optimizeAcknowledge的设置方法 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://192.168.204.201:61616 ?jms.optimizeAcknowledge=true&jms.optimizeAcknowledgeTimeout=10000"); :如果 optimizeAcknowledge 为 true ,那么 prefetchSize 必须大于 0 。当 prefetchSize = 0 的时候,表示 consumer 通过 pull 方式从broker获取消息 总结:

ActiveMQ 的session和Connection , 及报错 session is closed处理。

匿名 (未验证) 提交于 2019-12-02 23:56:01
在集成activemq 到web开发环境中遇到问题: 项目运行一段时间后 在调用produce 发送消息会报错 session is closed。 在查看PooledConnectionFactory, 结合网上查询的资料。 popl . setMaxConnections ( 2 ); 最大 connection 数 popl.setMaximumActiveSessionPerConnection(30); 设置最大session数量 1, PooledConnectionFactory.createConnection() 会将Connection缓存起来 。 源码创建的代码如下 PooledConnectionFactory . java public synchronized Connection createConnection ( String userName , String password ) throws JMSException { if ( this . stopped . get ()) { LOG . debug ( "PooledConnectionFactory is stopped, skip create new connection." ); return null ; } else { ConnectionPool connection