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队列消息过期时间设置和自动清除解决方案
版本 apache-activemq-5.15.31、消息过期设置参数详情1)message过期则客户端不能接收2)ttlCeiling:表示过期时间上限(程序写的过期时间不能超过此时间,超过则以此时间为准)3)zeroExpirationOverride:表示过期时间(给未分配过期时间的消息分配过期时间)配置示例 &amp;lt;broker&amp;gt;n ...n &amp;lt;plugins&amp;...
spring结合activemq消息过期配置
包括queue和topic的消息过期配置。发送消息使用的spring-jms提供的JmsTemplate。nnqueue的配置 n设置pubSubDomain为false,默认即为false。需要将explicitQosEnabled设置为true,过期时间要生效依赖它。timeToLive即为过期时间,本例中设置的是10秒过期。nntopic的配置 n设置pubSubDomain为true,表示...
activemq定时清理消息
activemq 队列消息定时清理rnrn转载 2015年12月30日 13:39:36rnrnrnrnrnrn在activemq.xml中配置rnrnrnn n n n " gcInactiveDestinations="true" inactiveTimoutBeforeGC="30000"/>n n n
服务器时间不同步影响activemq 消息过期
发送消息后,在session中会对消息进行封装,添加过期时间rn long expiration = 0L;n if (!producer.getDisableMessageTimestamp()) {n long timeStamp = System.currentTimeMillis();n
ActiveMQ消息持久化与消息有效期
在生产环境中,手工签收的方式比较合适,因为某个消息在消费端没有成功处理的情况下,可以不给ActiveMQ消息中间件发送针对这个消息的确认签收。同时,记录相关信息到日志文件或数据库中,以便后续做相应处理。在默认情况下,消息在ActiveMQ消息中间件中是不会过期的,可以根据实际的项目需要去设置消息的过期时间,单位毫秒。rnrnrn消息优先级总共十个,即0-9。其中,0-4是普通消息,5-9是加急消息
ActiveMq中Session的事务与消息过期
rnActiveMQ有支持两种事务,rnnJMS transactions - the commit() / rollback() methods on a Session (which is like doing commit() / rollback() on a JDBC connection)rnXA Transactions - where the XASession acts as a...
ActiveMQ配置自动清除数据
备注:(删除不活动的队列(Delete Inactive Destinations))nn一般情况下,ActiveMQ的Topic和Queue在不使用之后,可以通过web控制台或是JMX方式来删除掉。n当然,也可以通过配置,使得broker可以自动探测到无用的队列(一定时间内为空的队列)并删除掉,回收响应资源。n实现定时自动清理无效的Topic和Queue需要设置三个属性。nactive
ActiveMQ之定期清理离线的持久订阅者
概述n通常,我们不希望系统中存在长时间离线的持久订阅者,因为Broker需要为它们保留它们订阅的topic的所有消息。而且随着时间的推移,将会导致达到存储限制,从而导致系统变慢。n当然,你可以通过JConsole或Web Console等管理工具来手动取消不活跃的持久订阅者。但显然可以采取更多措施来帮助管理。n过期消息n一些应用程序发送的消息有一定的过期时间。如果这些消息存储在Broker上供离线...
ActiveMQ的设置消息时长,事务,确认机制 ,持久化(六)
1.消息事务    消息事务是在生产者producer到broker或broker到consumer过程中同一个session中发生的,保证几条消息在发送过程中的原子性。(Broker:消息队列核心,相当于一个控制中心,负责路由消息、保存订阅和连接、消息确认和控制事务)    在支持事务的session中,producer发送message时在message中带有transactionID。bro...
ActiveMQ 超时消息配置不进DLQ
在项目中尝试过两种解决方式:nnn修改activemq/config/activemq.xml配置文件nnndestinationPolicy>n policyMap>n policyEntries>n policyEntry topic=">" producerFlowControl="true">
activemq订阅模式以及消息时长和确认机制
代码如下:rnrnrnrnrnrn[java] viewrn plain copyrnrnrn rnrnrnrnpackage com.activemq;  rnimport org.apache.activemq.ActiveMQConnectionFactory;  rnimport javax.jms.*;   rn  rnpublic class TopicPub {  rn     pu
JMS学习四(ActiveMQ消息过滤)
前一篇文案中提到了消息的接收和发送持久化消息,这篇文章我们看看消息的过期、消息的选择器和消息的优先级。n一、消息的过期n允许消息过期 。默认情况下,消息永不会过期。如果消息在特定周期内失去意义,那么可以设置过期时间。 n有两种方法设置消息的过期时间,时间单位为毫秒: n1.使用消息生产者的setTimeToLive 方法为所有的消息设置过期时间。n2.使用消息生产者的send 方法为每一
ActiveMQ消息策略
rn    ActiveMQ中提供了众多的“策略”(policy),它们可以在broker端为每个通道“定制”消息的管理方式。本文将简单描述主要的几种Policy。rn rn一. DispatchPolcicy: 转发策略(Topic)rn    此策略表明broker端消息转发给多个Consumer时,消息被发送的顺序性,这个顺序通常指Consumer的顺序,只对Topic有效,它有3种常用的类...
activeMQ消息详解(续) 订阅(主题)消息(消息持久化)
activeMQ 持久化消息 订阅消息
ActiveMQ死信产生的原因及使用方案
DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。nn出现以下情况时,消息会被redeliverednnA transacted session is used and rollback() is called(使用一个事务session,并且调用了rollback()方法).n A transacted session is closed before com...
activemq中的订阅模式以及消息时长和确认机制
直接上代码n发布主题npackage com.activemq;nimport org.apache.activemq.ActiveMQConnectionFactory;nimport javax.jms.*; nnpublic class TopicPub {n public static void main(String[] args) throws JMSException {
ActiveMq 什么时候进入死讯队列
rnDLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。出现以下情况时,消息会被再投递rn rn消费端: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...
SpringBoot集成ActiveMq消息队列实现消息即时处理、延迟处理
 nn一、安装ActiveMqnn具体安装步骤:自己谷歌去nn二、新建springboot项目nn具体步骤:自己谷歌去nn三、项目结构nnnn四、引入activemqnnn&amp;lt;!-- activeMq消息队列 --&amp;gt;n &amp;lt;dependency&amp;gt;n &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/gro...
ActiveMQ死信队列
Apache的ActiveMQ是JMS的一个开源实现,下面来说说ActiveMQ的使用rnrn1. admin的web管理rnrn浏览器输入http://localhost:8161/,打开后台管理页面:rnrnrn2. DLQ - 死信队列 (Dead Letter Queue)rnrn用来保存处理失败或者过期的消息。rnrn出现下面情况时,消息会被重发:rni. 事务会话被回滚。rnii. 事...
如何实现ActiveMq的Topic的持久订阅
rn原文地址:http://www.mytju.com/classcode/news_readNews.asp?newsID=486rn rn(1)使用queue,即队列时,每个消息只有一个消费者,所以,持久化很简单,只要保存到数据库即可。然后,随便一个消费者取走处理即可。某个消费者关掉一阵子,也无所谓。(2)使用topic,即订阅时,每个消息可以有多个消费者,就麻烦一些。首先,假设消费者都是普通...
消息中间件-activemq实战之消息持久化(六)
对于activemq消息的持久化我们在第二节的时候就简单介绍过,今天我们详细的来分析一下activemq的持久化过程以及持久化插件。在生产环境中为确保消息的可靠性,我们肯定的面临持久化消息的问题,今天就一起来攻克他吧。1. 持久化方式介绍前面我们也简单提到了activemq提供的插件式的消息存储,在这里再提一下,主要有以下几种方式:nAMQ消息存储-基于文件的存储方式,是activemq开始的版本默
由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
ActiveMQ的点对点消息模型的小例子
ActiveMQ搭建环境和一个点对点消息模型的小例子
C#使用NMS与ActiveMQ通讯问题总结:如何持久化发布
/**n * msg:发布的内容。n * Apache.NMS.MsgDeliveryMode.Persistent: 持久化n * Apache.NMS.MsgPriority.Normal:内容优先级(重要性)n
ActiveMQ中的消息重发时间间隔和重发次数吗?
首先,我们得大概了解下,在哪些情况下,ActiveMQ服务器会将消息重发给消费者,这里为简单起见,假定采用的消息发送模式为队列(即消息发送者和消息接收者)。rnrn      1.如果消息接收者在处理完一条消息的处理过程后没有对MOM进行应答,则该消息将由MOM重发.rnrn      2.如果我们队某个队列设置了预读参数(consumer.prefetchSize),如果消息接收者在处理第一条消
ActiveMq C#客户端 消息队列的使用(存和取)
1、准备工具nnnnnVS2013Apache.NMS.ActiveMQ-1.7.2-bin.zipnapache-activemq-5.14.0-bin.zipnnnn2、开始项目nnnVS2013新建一个C#控制台应用程序,项目中添加两个dll引用,一个是D:\Apache.NMS.ActiveMQ-1.7.2-bin\lib\Apache.NMS\net-4.0目录
漫游Kafka之过期数据清理
Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩。
JMS学习九 ActiveMQ的消息持久化到Mysql数据库
1、将连接Mysql数据库驱动包,放到ActiveMQ的lib目录下nnnn2,修改ActiveMQ的conf目录下的active.xml文件,修改数据持久化的方式nn         2.1  修改原来的kshadb的持久化数据的方式nnnn nn          2.2  连接Mysql的配置nn3、将数据持久化Mysql的运行截图nn      3.1  重新启动ActiveMQ,并运行程...
ActiveMQ的queue以及topic两种消息处理机制分析
rn        上一期介绍了我们项目要用到activeMQ来作为jms总线,并且给大家介绍了activeMQ的集群和高可用部署方案,本期给大家再介绍下,如何根据自己的项目需求,更好地使用activeMQ的两种消息处理模式。rn       rn1    queue与topic的技术特点对比rn rnrnnnrn     对比项rnrnrnTopicrnrnrnQueuernrnnnrn概要rn...
ActiveMQ 延迟消息与定时消息传递
使用场景:nn    订单超时未处理nn    消息定时发送业务nn    延迟消息业务场景nnActiveMQ 延迟 &amp;amp; 定时消息发送(Delay and Schedule Message Delivery)使用:nn客户端使用延迟消息必须遵守如下配置属性:nn属性名称n 类型n 描述n AMQ_SCHEDULED_DELAYn longn 消息延迟时间单位:毫秒n ...
ActiveMQ利用selector消费在消息堆积量大的时候不起作用的解决
ActiveMQ利用selector消费在消息堆积量大的时候不起作用的解决rn现象:rn​ 我们在使用activemq queue的时候,发送方会把两个城市的消息都发到一个queue里,但是会在消息扩展属性里加上代表不同城市的参数,然后两个城市的应用都会启带不同selector的消费者到queue里消费各自的消息。前几天A市的服务挂了,开始B市的服务还能正常的消费消息,当随着queue里消息堆积的越来...
ActiveMQ消息传递
ActiveMQnnnnActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。nn简单来说ActiveMQ是JMS规范的实现者之一,因为它免费,所以用的人就多nn要想使用Activ...
ActiveMQ消息传送和确认机制
我的头条号:https://www.toutiao.com/c/user/54449368910/#mid=1591720133858307ActiveMQ消息传送机制:Producer客户端使用来发送消息的, Consumer客户端用来消费消息;n它们的协同中心就是ActiveMQ broker,broker也是让producer和consumer调用过程解耦的工具,最终实现了异步RPC/数据交...
java代码主动消费消息ActiveMQ消息{StringMessage}
直接上代码:rnnimport javax.jms.Connection;nimport javax.jms.ConnectionFactory;nimport javax.jms.Destination;nimport javax.jms.JMSException;nimport javax.jms.MessageConsumer;nimport javax.jms.Session;nimpor
Apache ActiveMQ 5.9.0发送消息成功后,在WEB界面点击队列中的Message ID 查看消息提示Error!
错误详情如下n浏览器界面提示:nDOS界面提示:nnn原因是计算机指定的系统变量中JDK版本1.8和ActiveMQ 5.9.0所用的版本不兼容,将JDK版本改为1.7即可
activemq延时队列使用
1、配置mq,activemq.xml配置文件,启用延时投递(注:schedulerSupport=&quot;true&quot; 的位置要在最外面,否则不生效)nnnn2、config配置nnn@Configurationnpublic class QueueConfig {nn @Beann public Queue queue() {n return new ActiveMQQueu...
RabbitMq 实现消息过期时间处理
的RabbitMQ nn生产者与消费者具体案例请参照我前面写的案例,本章不做详细介绍,只写局部细节详见   https://blog.csdn.net/u010260737/article/details/84570778nn实现方式一,nnnpublic static final Boolean durable = true;//设置是否持久化npublic static final Boole...
activemq是如何实现消息分组的
activemq是如何实现消息分组的
spring整合ActiveMQ订阅模式(对象消息发送)
归纳一下spring整合activemq的基础配置以及使用,监听到消息后的更多逻辑操作需要自己完成,需要源代码可联系:993610778
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 微信消息接口开发视频 微信末班消息java