ActiveMQ的安装与配置

来源:互联网 发布:shinydays知乎 编辑:程序博客网 时间:2024/06/05 21:52

一、下载与安装

直接去官网(http://activemq.apache.org/)下载最新版本即可,由于这是免安装的,只需要解压就行了。安装完之后进入bin目录,双击 activemq.bat文件(linux下在bin目录下执行 activemq start

二、访问控制台

在浏览器输入:http://ip:8161/admin/,出现如下界面表示启动成功
这里写图片描述

三、修改端口号

61616为对外服务端口号
8161为控制器端口号
当端口号冲突时,可以修改这两个端口号。cd conf ,修改activemq.xml 修改里面的61616端口。修改jetty.xml,修改里面的8161端口。

四、删除不活动队列

一般情况下,ActiveMQ的queue或者topic在不使用之后,可以通过web控制台来删除掉。当然,也可以通过配置,使得broker可以自动探测到无用的队列(一定时间内为空的队列)并删除掉,回收响应资源。
activemq.xml

<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.base}/data" destroyApplicationContextOnStop="true" schedulePeriodForDestinationPurge="10000">    <destinationPolicy>        <policyMap>          <policyEntries>            <policyEntry topic=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="100000" memoryLimit="1mb">              <pendingSubscriberPolicy>                <vmCursor />              </pendingSubscriberPolicy>            </policyEntry>            <policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="100000" memoryLimit="1mb">            </policyEntry>          </policyEntries>        </policyMap>    </destinationPolicy></broker>

schedulePeriodForDestinationPurge:10000 每十秒检查一次,默认为0,此功能关闭
gcInactiveDestinations: true 删除掉不活动队列,默认为false
inactiveTimoutBeforeGC:30000 不活动30秒后删除,默认为60秒
这里需要注意的是,对于topic的不活动队列只是,10秒中之类没有消费者进行注册监听,如果一个用户事先注册了这个监听,但是他一直没有登录,那么这算活动队列。而queue只要有消息没有出队列就表示活动队列。

0 0