activemq 删除过期消息 10C

activemq5.14 ,配置了过期时间如下:

         <plugins>
          <!-- 86,400,000ms = 1 day -->
            <timeStampingBrokerPlugin ttlCeiling="10000" zeroExpirationOverride="10000"/>
        </plugins>

然后那些已经过期的消息,将会保存在data/kahadb目录下,越积越多。不知道配置什么可以删除。请各位帮忙看看怎么解决。

0

3个回答

http://www.cnblogs.com/sunxucool/archive/2013/01/25/2876080.html
试试咯。不行的话,你可以定时清理一下这个目录下的东西就行。

0
y515789
T_初晴 这个是不会删除消息的。只是删除不活动的topic和queue。还有如果有topic被持续订阅的话,永远都不会删除。而我正好是要用到持续订阅的。
大约 2 年之前 回复

楼上答案不对,不活动指的是没有消费者也没消息的空队列,这个配置没意义。
过期后自动进入DLQ,自动丢弃过期消息即可:http://sharong.iteye.com/blog/1987171

0

已自己解决,官网上有,地址我忘了。
a)message过期自动丢弃策略
标签的processExpired="false"表示不保存过期消息到死信队列,处理手段为删除,为true则是保留。
标签expireMessagesPeriod="60000"属性表示每隔60秒钟检查message是否过期。
topic=">"表示该策略对所有topic都生效。
topic="active.>"表示该策略对以active.开头的所有topic生效,有个点号'.'。

 <borker>
    <destinationPolicy>
        <policyMap>
            <policyEntries>
                <policyEntry topic=">" expireMessagesPeriod="60000">
                    <deadLetterStrategy>
                        <sharedDeadLetterStrategy processExpired="false" />
                    </deadLetterStrategy>
                </policyEntry>
            </policyEntries>
        </policyMap>
    </destinationPolicy>
</borker>

b)message过期时间设置
message过期则客户端不能接收
timeStampingBrokerPlugin 标签的ttlCeiling="360000" zeroExpirationOverride="360000"
属性表示过期时间为360000ms (1小时)。
ttlCeiling:表示过期时间上限(程序写的过期时间不能超过此时间,超过则以此时间为准)
zeroExpirationOverride:表示过期时间(给未分配过期时间的消息分配过期时间)

<borker>
    <plugins>
        <!-- 86,400,000ms = 1 day -->
        <timeStampingBrokerPlugin ttlCeiling="360000"
            zeroExpirationOverride="360000" />
    </plugins>
</borker> 

此贴以后还不会回了。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
ActiveMQ消息过期时间设置和自动清除解决方案
详细描述了ActiveMQ消息过期-时间设置和自动清除解决方案。
ActiveMQ定时删除过期Topic和Queue
" gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/> 实现定时自动清理无效的Topic和Queue需要设置三个属性。 schedulePeriodForDestinationPurge执行清理任务的周期, gcInactiveDestinations
ActiveMQ队列消息过期时间设置和自动清除解决方案
版本 apache-activemq-5.15.31、消息过期设置参数详情1)message过期则客户端不能接收2)ttlCeiling:表示过期时间上限(程序写的过期时间不能超过此时间,超过则以此时间为准)3)zeroExpirationOverride:表示过期时间(给未分配过期时间的消息分配过期时间)配置示例 &amp;lt;broker&amp;gt; ... &amp;lt;plugins&amp;...
ActiveMQ定时删除过期的Topic和Queue
&amp;amp;lt;broker xmlns=&amp;quot;http://activemq.apache.org/schema/core&amp;quot; schedulePeriodForDestinationPurge=&amp;quot;10000&amp;quot;&amp;amp;gt; &amp;amp;lt;destinationPolicy&amp;amp;gt; &amp;amp;lt;policyMap&amp;amp;gt;
spring结合activemq消息过期配置
包括queue和topic的消息过期配置。发送消息使用的spring-jms提供的JmsTemplate。 queue的配置 设置pubSubDomain为false,默认即为false。需要将explicitQosEnabled设置为true,过期时间要生效依赖它。timeToLive即为过期时间,本例中设置的是10秒过期。 topic的配置 设置pubSubDomain为true,表示...
ActiveMQ笔记(7):如何清理无效的延时消息?
ActiveMQ的延时消息是一个让人又爱又恨的功能,具体使用可参考上篇ActiveMQ笔记(6):消息延时投递,在很多需要消息延时投递的业务场景十分有用,但是也有一个缺陷,在一些大访问量的场景,如果瞬间向MQ发送海量的延时消息,超过MQ的调度能力,就会造成很多消息到了该投递的时刻,却没有投递出去,形成积压,一直停留在ActiveMQ web控制台的Scheduled面板中。 下面的代码演示了,如何
ActiveMQ消息持久化与消息有效期
在生产环境中,手工签收的方式比较合适,因为某个消息在消费端没有成功处理的情况下,可以不给ActiveMQ消息中间件发送针对这个消息的确认签收。同时,记录相关信息到日志文件或数据库中,以便后续做相应处理。在默认情况下,消息在ActiveMQ消息中间件中是不会过期的,可以根据实际的项目需要去设置消息的过期时间,单位毫秒。 消息优先级总共十个,即0-9。其中,0-4是普通消息,5-9是加急消息
activemq定时清理消息
activemq 队列消息定时清理 转载 2015年12月30日 13:39:36 在activemq.xml中配置 " gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>
服务器时间不同步影响activemq 消息过期
发送消息后,在session中会对消息进行封装,添加过期时间 long expiration = 0L; if (!producer.getDisableMessageTimestamp()) { long timeStamp = System.currentTimeMillis();
activemq 队列消息定时清理
activemq 队列消息定时清理
SpringBoot集成ActiveMq消息队列实现消息即时处理、延迟处理
  一、安装ActiveMq 具体安装步骤:自己谷歌去 二、新建springboot项目 具体步骤:自己谷歌去 三、项目结构 四、引入activemq &amp;lt;!-- activeMq消息队列 --&amp;gt; &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/gro...
ActiveMQ的设置消息时长,事务,确认机制 ,持久化(六)
1.消息事务    消息事务是在生产者producer到broker或broker到consumer过程中同一个session中发生的,保证几条消息在发送过程中的原子性。(Broker:消息队列核心,相当于一个控制中心,负责路由消息、保存订阅和连接、消息确认和控制事务)    在支持事务的session中,producer发送message时在message中带有transactionID。bro...
ActiveMQ配置自动清除数据
备注:(删除不活动的队列(Delete Inactive Destinations)) 一般情况下,ActiveMQ的Topic和Queue在不使用之后,可以通过web控制台或是JMX方式来删除掉。 当然,也可以通过配置,使得broker可以自动探测到无用的队列(一定时间内为空的队列)并删除掉,回收响应资源。 实现定时自动清理无效的Topic和Queue需要设置三个属性。 active
12.6 使用ActiveMQ消息调度延迟发送消息
博客已搬家, 更好阅读体验, 猛戳 http://www.jack-yin.com/coding/translation/activemq-in-action/1778.html   12.6 Scheduling messages to be delivered by ActiveMQ in the future 12.6 使用ActiveMQ消息调度延迟发送消息   The ab...
activemq中延迟设置
发送PROJECT_UPDATED消息,之后跳转到jmsProjectUpdate事件,之后跳转到CheckUpdate类中的excute方法中,如果该方法返回true,则延迟10秒后, 跳转到事件delayTime中。 topic PROJECT_UPDATED []
ActiveMQ 自动删除功能
备注:(删除不活动的队列(Delete Inactive Destinations)) 一般情况下,ActiveMQ的Topic和Queue在不使用之后,可以通过web控制台或是JMX方式来删除掉。 当然,也可以通过配置,使得broker可以自动探测到无用的队列(一定时间内为空的队列)并删除掉,回收响应资源。 实现定时自动清理无效的Topic和Queue需要设置三个属性。 activemq.x...
ActiveMQ 超时消息配置不进DLQ
在项目中尝试过两种解决方式: 修改activemq/config/activemq.xml配置文件 destinationPolicy> policyMap> policyEntries> policyEntry topic=">" producerFlowControl="true">
activeMQ消息详解(续) 订阅(主题)消息(消息持久化)
activeMQ 持久化消息 订阅消息
JMS学习四(ActiveMQ消息过滤)
前一篇文案中提到了消息的接收和发送持久化消息,这篇文章我们看看消息的过期、消息的选择器和消息的优先级。 一、消息的过期 允许消息过期 。默认情况下,消息永不会过期。如果消息在特定周期内失去意义,那么可以设置过期时间。  有两种方法设置消息的过期时间,时间单位为毫秒:  1.使用消息生产者的setTimeToLive 方法为所有的消息设置过期时间。 2.使用消息生产者的send 方法为每一
kafka:过期数据清理
Kafka 作为一个高吞吐的消息中间件和传统的消息中间件一个很大的不同点就在于它的日志实际上是以日志的方式默认保存在/kafka-logs文件夹中的。虽然默认有7天清楚的机制,但是在数据量大,而磁盘容量不足的情况下,经常出现无法写入的情况。如何调整Kafka的一些默认参数就显得比较关键了。这里笔者整理了一些常见的配置参数供大家参考: 分段策略属性 属性名 | 含义 |默认值 ---|---|--...
activeMQ数据消费了,但是在中间站却没有删除数据的原因
connection.createSession(Boolean.FALSE, Session.AUTO_ACKNOWLEDGE); 第一个参数当改
activemq中的订阅模式以及消息时长和确认机制
直接上代码 发布主题 package com.activemq; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class TopicPub { public static void main(String[] args) throws JMSException {
ActiveMq中Session的事务与消息过期
转自:http://javavsnet.iteye.com/blog/1972523 ActiveMQ有支持两种事务, JMS transactions - the commit() / rollback() methods on a Session (which is like doing commit() / rollback() on a JDBC connection)XA T
activeMQ 接收、销毁删除数据条数不一致
1.      问题描述: a.      服务端发送500条记录,如果立马启动客户端,客户端接收200条,卡顿之后显示接收数据为200条或者超过200条,而服务端只从队列删除了200条。 b.      如果等待片刻,再启动客户端,可全部接收。 c.      如果在客户端session.commit()之前等待若干长时间,也可全部接收。 2.     可能原因: MQ默认MaxPage
ActiveMq 什么时候进入死讯队列
DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。出现以下情况时,消息会被再投递   消费端:1)A transacted session is used and rollback() is called.2)A transacted session is closed before commit is called.3)A session is usi...
JMS学习七(ActiveMQ消息持久化)
上一篇文章中消息的持久化订阅有个前提条件就是消息的持久化,也就是将发送的消息保存磁盘,之后能再次获取,ActiveMQ提供了好几种消息持久化方案比如kahaDB 、JDBC等,下面来一个个看。
activemq订阅模式以及消息时长和确认机制
代码如下: [java] view plain copy   package com.activemq;   import org.apache.activemq.ActiveMQConnectionFactory;   import javax.jms.*;       public class TopicPub {        pu
activeMQ中消息的定时发送
activeMQ在5.4以后的版本中引入了定是持久化功能。用户可以通过定义下面这些的消息属性来实现定时功能:[list] [*]AMQ_SCHEDULED_DELAY long 发送延迟 [*]AMQ_SCHEDULED_PERIOD long 发送间隔 [*]AMQ_SCHEDULED_REPEAT int 发送次数 [*]AMQ_SCHEDULED_CRON String 发送...
消息中间件-activemq消息机制和持久化介绍(三)
前面一节简单学习了activemq的使用,我们知道activemq的使用方式非常简单有如下几个步骤: 创建连接工厂 创建连接 创建会话 创建目的地 创建生产者或消费者 生产或消费消息 关闭生产或消费者、关闭会话、关闭连接 前面我们的实例代码中已经按照这个步骤完成了P2P和Pub/Sub模式的消息发送和接收。那么这一节我们就针对他的消息传播机制和持久化方式做一个简单的学习。在会用的同时我们也需要理解
activemq消息队列的大小配置的配置
           在网上有人问,如何在activemq.xml里面配置消息队列的大小,这样才保证队列不会溢出!如果采用非持久化消息,那么当大量发送失败时候,首先大量占用内存。造成消息堆积,容易造成内存溢出,所以个人比较倾向于持久化消息的同时配合其他方式的master/slave或者failover机制,尽量保持消息的畅通。当我们开发的Java的使用应用程序的时候,有的时候需要为java应用指...
ActiveMQ死信队列
Apache的ActiveMQ是JMS的一个开源实现,下面来说说ActiveMQ的使用 1. admin的web管理 浏览器输入http://localhost:8161/,打开后台管理页面: 2. DLQ - 死信队列 (Dead Letter Queue) 用来保存处理失败或者过期的消息。 出现下面情况时,消息会被重发: i. 事务会话被回滚。 ii. 事...
ActiveMQ的queue以及topic两种消息处理机制
JMS:Java Message Server JMS消息服务器有很多:ActiveMQ、Jboss MQ、Open MQ、RabbitMQ、ZeroMQ等等    queue与topic的技术特点对比     Topic 概要 Publish Subscribe messaging 发布订阅消息 Point-to-Point 点对...
由activemq消息存储满导致的服务器崩溃
1.通过jstack 出来的线程有巨量的锁死现象"http://*:3050-8188" daemon prio=10 tid=0x00007fc597d60800 nid=0x9f03 waiting on condition [0x00007fc2d3df9000] java.lang.Thread.State: WAITING (parking)at sun.misc.Unsafe.par
RocketMQ(5)——消息文件过期原理
https://zhuanlan.zhihu.com/p/26119361 所有的消费均是客户端发起Pull请求的,告诉消息的offset位置,broker去查询并返回。但是有一点需要非常明确的是,消息消费后,消息其实并没有物理地被清除,这是一个非常特殊的设计。本文来探索此设计的一些细节。 消费完后的消息去哪里了? 消息的存储是一直存在于CommitLog中的,由于Commi
ActiveMQ的点对点消息模型的小例子
ActiveMQ搭建环境和一个点对点消息模型的小例子
ActiveMQ持久订阅设置
在JMS中,Topic实现publish和subscribe语义。一条消息被publish时,它将发到所有感兴趣的订阅者,所以零到多个subscriber将接收到消息的一个拷贝。但是在消息代理接收到消息时,只有激活订阅的subscriber能够获得消息的一个拷贝。     JMS Queue执行load balancer语义。一条消息仅能被一个consumer收到。如果在message发送的时候
消息中间件系列之Java API操作ActiveMQ
一、依赖&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.apache.activemq&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;activemq-client&amp;lt;/artifactId&amp;gt; &amp;lt;version&amp;gt;5.14.4&amp;lt;/version&amp;gt; &amp;lt;/dependency&amp
ActiveMQ的queue以及topic两种消息处理机制分析
Q来作为jms总线,并且给大家介绍了activeMQ的集群和高可用部署方案,本期给大家再介绍下,如何根据自己的项目需求,更好地使用activeMQ的两种消息处理模式。         1    queue与topic的技术特点对比   Topic Queue 概要 Publish Subscribe messaging 发布订阅消息
ActiveMQ死信产生的原因及使用方案
DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。 出现以下情况时,消息会被redelivered A transacted session is used and rollback() is called(使用一个事务session,并且调用了rollback()方法). A transacted session is closed before com...
ActiveMQ发布消息和订阅消息
先订阅,后发布。和点对点基本一样,这是把创建队列换成创建主题/** * 消息生产者 * @author Administrator * */package activite2;import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import jav
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 微信消息接口开发视频 微信末班消息java