`
chenlei1728
  • 浏览: 4771 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ActiveMQ-删除不活动的队列(Delete Inactive Destinations)

    博客分类:
  • jms
阅读更多

一般情况下,ActiveMQ的queue在不使用之后,可以通过web控制台或是JMX方式来删除掉。

当然,也可以通过配置,使得broker可以自动探测到无用的队列(一定时间内为空的队列)并删除掉,回收响应资源。

修改conf文件下activemq.xml文件

<broker xmlns="http://activemq.apache.org/schema/core" schedulePeriodForDestinationPurge="10000">

    <destinationPolicy>
       <policyMap>
          <policyEntries>
             <policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>
          </policyEntries>
       </policyMap>
    </destinationPolicy>
        
  </broker>

schedulePeriodForDestinationPurge:10000  每十秒检查一次,默认为0,此功能关闭

 

gcInactiveDestinations: true  删除掉不活动队列,默认为false

inactiveTimoutBeforeGC:30000 不活动30秒后删除,默认为60秒

 

修改后的完整xml如下:

<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>file:${activemq.conf}/credentials.properties</value>
        </property>
    </bean>

    <broker xmlns="http://activemq.apache.org/schema/core" schedulePeriodForDestinationPurge="10000" brokerName="localhost" dataDirectory="${activemq.data}">

        <destinationPolicy>
            <policyMap>
              <policyEntries>
                <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb">
                  <pendingSubscriberPolicy>
                    <vmCursor />
                  </pendingSubscriberPolicy>
                </policyEntry>
                <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">
                </policyEntry>
				<policyEntry queue=">" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>
              </policyEntries>
            </policyMap>
        </destinationPolicy>

        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"/>
        </persistenceAdapter>

          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage limit="64 mb"/>
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="100 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="50 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
        </transportConnectors>

    </broker>

  
    <import resource="jetty.xml"/>

</beans>

 

由于ActiveMQ使用时自动创建Destination,并且默认情况下不会删除掉,这种只增加不减少,导致在queue创建频繁的情况下,本功能非常有用。

 

分享到:
评论

相关推荐

    activemq-cpp-library-3.9.5-src.zip

    《ActiveMQ-CPP库3.9.5源代码解析与应用》 ActiveMQ-CPP库是Apache ActiveMQ项目的一部分,它提供了一套C++接口,用于与ActiveMQ消息代理进行通信。这个库允许开发者在C++应用程序中实现高级消息队列协议(AMQP)和...

    activemq-cpp-library-3.9.5 编译的windows库文件,支持vs2015、vs2017

    《ActiveMQ-CPP Library 3.9.5在Windows环境下的编译与应用》 ActiveMQ-CPP Library 3.9.5是一款专为C++开发者设计的、用于与Apache ActiveMQ集成的库,它提供了丰富的API接口,使得在C++环境中能够方便地发送和...

    activemq-core-5.7.0-API文档-中英对照版.zip

    赠送jar包:activemq-core-5.7.0.jar; 赠送原API文档:activemq-core-5.7.0-javadoc.jar; 赠送源代码:activemq-core-5.7.0-sources.jar; 包含翻译后的API文档:activemq-core-5.7.0-javadoc-API文档-中文...

    activemq-protobuf-1.1-API文档-中文版.zip

    赠送jar包:activemq-protobuf-1.1.jar; 赠送原API文档:activemq-protobuf-1.1-javadoc.jar; 赠送源代码:activemq-protobuf-1.1-sources.jar; 包含翻译后的API文档:activemq-protobuf-1.1-javadoc-API文档-...

    apache-activemq-5.9.0-bin

    Apache ActiveMQ是世界上最流行的开源消息代理和队列服务器,它基于Java Message Service(JMS)规范,为分布式系统提供高效、可靠和可扩展的消息传递功能。这个“apache-activemq-5.9.0-bin”压缩包包含了Apache ...

    apache-activemq-5.15.8-bin.zip

    5. 创建和管理队列与主题:在控制台上,你可以创建、删除队列和主题,以及查看消息传递情况。 6. 测试连接:编写简单的生产者和消费者程序,测试ActiveMQ的基本功能。 ActiveMQ的特点包括高可靠性、高性能、可扩展...

    apache-activemq-5.10到apache-activemq6.1大版本合集

    activemq-parent-5.10.0-source-release.zip activemq-parent-5.10.2-source-release.zip activemq-parent-5.12.3-source-release.zip apache-activemq-5.10.2-bin.tar.gz apache-activemq-5.11.4-bin.zip apache-...

    apache-activemq-5.8.0-bin.zip

    - ActiveMQ作为JMS实现,提供了生产者、消费者模型,使得消息生产者可以在不关心消息消费者状态的情况下发送消息,提高了系统的解耦性。 3. **文件结构解析** - `META-INF`目录:包含关于此发布版的元数据,如...

    apache-activemq-5.12.0-bin

    2. **持久化**:ActiveMQ提供了消息的持久化存储,即使在服务器崩溃或网络中断后,也能保证消息不丢失。这依赖于其强大的事务处理能力和存储机制。 3. **集群与高可用性**:通过集群,多个ActiveMQ实例可以协同工作...

    activemq-web-console-5.11.2

    activemq-web-console的默认使用方式是通过在activemq.xml中导入jetty.xml配置一个jetty server来实现的。其实activemq-web-console完全可以和activemq-broker分开来部署。 activemq-web-console包含3个apps, 1.一...

    activemq-all-5.2.0.jar包

    activemq-all-5.2.0.JAR包,欢迎下载。编写java中间件的时候会用到。这是activemq实现的jms中间件。希望能帮助到你。

    activemq-all.5.14jar包

    activemq-all.5.14jar包,亲测可用!!

    编译好的activemq-cpp动态库(2.2.6版本+vs2010)

    自己编译的activemq-cpp的2.X的最后版本,在windows + vs2010下测试通过。压缩包中包含了include\lib\dll文件。 由于尝试了N个3.X的版本都不同过,于是退到2.X版本,通过了,另外在vs2005下编译出来的也没有问题。...

    apache-activemq-5.16.6-bin.zip

    Apache ActiveMQ是世界上最流行的开源消息代理和队列服务器,它基于Java消息服务(JMS)规范,提供高可用性、可扩展性和强大的消息传递功能。这个"apache-activemq-5.16.6-bin.zip"文件包含了ActiveMQ的最新稳定版本...

    apache-activemq-5.15.6

    Apache ActiveMQ是Apache软件基金会开发的一个开源消息中间件,它基于Java Message Service(JMS)规范,用于在分布式系统中高效地传输数据。ActiveMQ在企业级应用中扮演着重要的角色,因为它允许应用程序通过异步...

    apache-activemq-5.15.9.rar

    ActiveMQ还提供了一个Web控制台(默认端口8161),可以用来监控和管理队列、主题和连接。 为了实现高可用性和容错性,ActiveMQ支持多种部署模式,如网络集群、故障转移和复制。在集群模式下,多个ActiveMQ实例可以...

    apache-activemq-5.13.2-bin.tar.gz

    此外,ActiveMQ支持多种协议,包括开放的消息队列管理协议(STOMP)、高级消息队列协议(AMQP)、纯文本控制协议(OpenWire)等,这使得它能够与其他语言和平台的客户端进行通信。开发者可以利用这些协议编写自己的...

    activemq-all-5.6.0.jar

    activemq-all-5.6.0.jar activemq-all-5.6.0.jar activemq-all-5.6.0.jar activemq-all-5.6.0.jar

    activemq-protobuf-1.1.jar

    activemq-protobuf-1.1.jar;activemq-protobuf-1.1.jar

    apache-activemq-5.18.5-bin.zip

    apache-activemq-5.18.5-bin

Global site tag (gtag.js) - Google Analytics