activemq 删除过期消息 10C

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

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

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

3个回答

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

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

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

已自己解决,官网上有,地址我忘了。
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> 

此贴以后还不会回了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
activemq消息删除问题
用activemq开发一个项目,原来一直是小数据量测试,没发现问题。最近用大数据量测试的时候发现kahadb下面的log文件一直在增加。查看了消息队列和log文件的内容发现dequeued的消息并没有被broker删除而是都存在了log*.log文件中。rn尝试修改activemq.xml的broker属性,添加upcleaninterval="30000" archivedatalogs="false",没有效果,不知道有没有人碰到过?rn一天产生的log文件能有50g啊!
ActiveMq中Session的事务与消息过期
ActiveMQ有支持两种事务, JMS transactions - the commit() / rollback() methods on a Session (which is like doing commit() / rollback() on a JDBC connection) XA Transactions - where the XASession acts as a...
spring结合activemq消息过期配置
包括queue和topic的消息过期配置。发送消息使用的spring-jms提供的JmsTemplate。 queue的配置 设置pubSubDomain为false,默认即为false。需要将explicitQosEnabled设置为true,过期时间要生效依赖它。timeToLive即为过期时间,本例中设置的是10秒过期。 topic的配置 设置pubSubDomain为true,表示...
ActiveMQ消息过期时间设置和自动清除解决方案
详细描述了ActiveMQ消息过期-时间设置和自动清除解决方案。
服务器时间不同步影响activemq 消息过期
发送消息后,在session中会对消息进行封装,添加过期时间 long expiration = 0L; if (!producer.getDisableMessageTimestamp()) { long timeStamp = System.currentTimeMillis();
spring整合JMS(二)
1.3     消息监听器MessageListener        在Spring整合JMS的应用中我们在定义消息监听器的时候一共可以定义三种类型的消息监听器,分别是MessageListener、SessionAwareMessageListener和MessageListenerAdapter。下面就分别来介绍一下这几种类型的区别。 1.3.1  MessageListener Me
ActiveMQ队列消息过期时间设置和自动清除解决方案
版本 apache-activemq-5.15.31、消息过期设置参数详情1)message过期则客户端不能接收2)ttlCeiling:表示过期时间上限(程序写的过期时间不能超过此时间,超过则以此时间为准)3)zeroExpirationOverride:表示过期时间(给未分配过期时间的消息分配过期时间)配置示例 &amp;lt;broker&amp;gt; ... &amp;lt;plugins&amp;...
ActiveMQ消息持久化与消息有效期
在生产环境中,手工签收的方式比较合适,因为某个消息在消费端没有成功处理的情况下,可以不给ActiveMQ消息中间件发送针对这个消息的确认签收。同时,记录相关信息到日志文件或数据库中,以便后续做相应处理。在默认情况下,消息在ActiveMQ消息中间件中是不会过期的,可以根据实际的项目需要去设置消息的过期时间,单位毫秒。 消息优先级总共十个,即0-9。其中,0-4是普通消息,5-9是加急消息
ActiveMQ发布消息和订阅消息
先订阅,后发布。和点对点基本一样,这是把创建队列换成创建主题/** * 消息生产者 * @author Administrator * */package activite2;import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import jav
消息中间体activeMQ
一、简介 1.什么是消息中间体 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色有Producer(生产者)、Consumer(消费者) 2.什么是JMS JMS(Java Messaging Service)是Java平台上有关面向消息中间件的...
ActiveMQ消息形式
消息形式有两种类型 Queue 点对点模式 一个生产者,和一个消费者一一对应 Topic 发布/订阅者模式 一个生产者产生消息并进行发送后 可以由多个消费者进行接收 ...
ActiveMQ的消息持久化到Mysql数据库
1、将连接Mysql数据库的jar文件,放到ActiveMQ的lib目录下        2、修改ActiveMQ的conf目录下的active.xml文件,修改数据持久化的方式        2.1  修改原来的kshadb的持久化数据的方式 -->        2.2  连接Mysql的配置(注意配置文件放置的位置)
ActiveMQ的消息过滤器
1、消息过滤器的简介       消息选择器的用法       MessageConsumer是一个Session创建的对象,用来从Destination接收消息       关于消息选择器       MessageConsumer createConsumer( Destination destination, String messageSelector )       Mes
Activemq消息确认机制
ActiveMQ消息传送机制以及ACK机制详解     AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。   一. ActiveMQ消息传送机制     Producer客户端使用来发送消息的, Consumer客户端用来消费消息;它们的协同
activemq的消息持久化存储
Queue的结构很简单,就是一个FIFO的队列。 对于Topic这种,每个consumer会得到一个message队列的复制。对于消息的持久存储,activemq提供了这么几种 1,基于文件的存储,以前默认的存储方式 2,kahaDB消息存储,提供了容量的提升和恢复能力,是现在的默认存储方式。 在kaha中,数据被追加到data logs中。当不再需要log文件中的数据的时候,log文件会被
ActiveMQ 消息持久化到Mysql数据库
修改配置文件持久化到Mysql数据库 文件路径:\conf\activemq.xml &amp;lt;persistenceAdapter&amp;gt; &amp;lt;!--&amp;lt;kahaDB directory=&quot;${activemq.data}/kahadb&quot;/&amp;gt;--&amp;gt; &amp;lt;jdbcPersistenceAdapter dataSource=&quot;#mysql-ds&quot;/&amp;gt;...
ActiveMQ的两种消息形式。
一、消息的传递类型点对点:即一个生产者和一个消费者一一对应PTP的过程好比是两个人打电话,这两个人独享这一条通信链路。一方发送消息,另外一方接收消息。在实际应用中因为有多个用户对使用PTP的链路,它的通信场景如下图所示:发布/订阅:即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。发布订阅模式类似听广播,一个播音员广播,可以有很多听众同时收听。这种关系如下图所示:二、消息的正文格式JMS...
ActiveMQ的两种消息模式
Queue模式:点对点通信,每个消息只有一个消费者,消息保证送达,离线消费者可以在下次上线后收到之前积压的消息。Topic模式:普通订阅:不区分消费者,当前有几个客户端在线,就发送几条广播给客户端。持久订阅:区分消费者,消费者在线则直接发送消息广播给消费者,消费者离线,只要该消费者有topic登记,就会为其保留消息直至其再次连接后一次性推送,消息可以积压。
ActiveMQ 点对点消息实现
第一节: 直接Receive 方式 Session.AUTO_ACKNOWLEDGE。当客户成功的从receive 方法返回的时候,或者从MessageListener.onMessage方法成功返回的时候,会话自动确认客户收到的消息。Session.CLIENT_ACKNOWLEDGE。客户通过消息的acknowledge 方法确认消息。需要注意的是,在这种模式中,确认是在会话层上进行:确认一
activeMQ之消息过滤
这两天在看activeMQ,之前用到过,但是没有很系统的去学习,今天看到里边有个消息过滤,之前不了解,这次记录下来,后续有其他的还会再补充。 1、发送消息放入特殊标志: message.setStringProperty(name, value); 2、接收消息使用基于特殊标志的消息选择器: MessageConsumer createConsumer(Destination destin
ActiveMQ收发消息Demo
ActiveMQ接受和发送消息,欢迎大家下载...............
ActiveMQ的消息重发机制
       本文以ActiveMQ最新的5.10版本为准。        大家知道,JMS规范中,Message消息头接口中有setJMSRedelivered(boolean redelivered)和getJMSRedelivered()方法,用于设置和获取消息的重发标志,当然set方法主要是MOM来调用的,我们客户端使用的是get方法。        还记得当时阿里的电话面试曾问过...
ActiveMQ消息(二)
一、.非持久的Topic消息示例 1.过程 2.编写生产者 package cn.day1; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class TopicSend { // activemq服务器的url地址,默认通信端口为61616 pri...
spring + activemq 消息sample
NULL 博文链接:https://cl516518.iteye.com/blog/2313388
activeMQ消息中文乱码解决
如果发送中文,在后台管理查看时出现中文乱码现象(http://localhost:8161/admin) 此时需要配置过滤器进行转码: 在MQ的目录中找到webapps/admin/WEB-INF中修改web.xml文件 添加如下过滤器 characterEncodingFilter org.springframework.web.filter.CharacterEncoding
activemq 发送接收消息
下载apache activemq: http://activemq.apache.org/download-archives.html 选择自己选用版本。 这里本地测试选用window版本 解压zip文件,不做任何修改 /bin目录下有window启动文件 运行activemq.bat启动activemq服务 默认服务连接地址:tcp://localhost:6161...
ActiveMQ发送、接收消息
本文主要以一个简单的示例展示ActiveMQ收发消息:   一、ActiveMQ说明 二、代码示例   一、ActiveMQ说明 1、当前ActiveMQ的最新版本为: ActiveMQ 5.15.3 Release  ====》点击:官网下载ActiveMQ地址   2、下载好之后解压,然后启动ActiveMQ,启动时要根据系统的位数来选择     二、代码示例   ...
Activemq 消息服务
1、简介 ActiveMQ 自己看百科 2、下载安装  去 apache 官网下载,http://archive.apache.org/dist/activemq/  3、安装 a、解压 tar -xvf apache-activemq-5.14.4-bin.tar.gz  b、拷贝到/usr/local下 mv apache-activemq-5.14.4 /usr/loca...
ActiveMQ消息策略
图片为网络资源
关于activeMQ的消息监听
小弟最近在研究activeMQ~之前对于JMS也基本不太了解`~~rnrn现在找了个简单的例子rn代码中间有一段rnrn public void onMessage(Message message) rn try rn if (message instanceof TextMessage) rn TextMessage txtMsg = (TextMessage) message; rn String msg = txtMsg.getText(); rn System.out.println("Consumer:->Received: " + msg); rn else rn System.out.println("Consumer:->Received: " + message); rn rn catch (JMSException e) rn // TODO Auto-generated catch block rn e.printStackTrace(); rn rn rn这段应该是实现了监听消息的接口吧~rn我想问的是,其中的message就是发送的消息,这段代码是在后台打印出消息内容来的..那我怎么在前台拿到这个message内容?rn比如A给B发消息~B点接收后显示消息``rnrn还有就是当A给B发送消息时,B是如何知道有没有消息增加?rn我现在自己做一个小东西就是想要实现上面2个功能,A给B发消息后,B弹出提示或什么的,点接收就显示消息内容~rnrn希望有心人能回答下~分不够可以加``
Activemq 接受消息慢
问题描述:发送十万条消息对activemq队列中,其中每个五百条发送一条带有selector消息。创建一个同样selector的消费者,发现接受消息很慢。具体代码如下:rn[code=csharp] for (int i = 0; i < 50000; i++)rn rn ITextMessage message;rnrn if (i % 1000 == 0)rn rn message = session.CreateTextMessage(msg);rn message.Properties.SetString("JMXGroupID ", "A");rn rn elsern rn message = session.CreateTextMessage(msg);rn rn producer.Send(message, MsgDeliveryMode.Persistent, MsgPriority.Normal, TimeSpan.MinValue);rn rn[/code]rn接受核心代码:rn[code=csharp] IDestination destination = SessionUtil.GetDestination(session, "testing");rn IMessageConsumer consumer = session.CreateConsumer(destination, "JMXGroupID = 'A'", false);rnfor (int i = 0; i < 50; i++)rn rn IMessage iMsg = consumer.Receive();rn ITextMessage msg = (ITextMessage)iMsg;rn Console.WriteLine(msg.Text);rn count++;rnrn rnrn[/code]rnrn
activemq消息-2
随着互联网P2P的发展,越来越多的公司参与到了互联网借贷中来,BAT等科技公司甚至都创办了自己的银行来做这些事情。所以我们根据当下互联网的需求发展推出了一款互联网P2P金融项目,希望学生能更加贴近互联网潮流。
activeMQ点对点map消息
使用ActiveMQ实现了JMS的点对点的消息模型,将发送者和接受者分别放在了两个不同的项目中。
ActiveMQ点对点消息实现
创建一个java项目 贴上相关jar包 创建消费者 package com.gcx.JMS; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms
ActiveMQ消息的发布与订阅
消息的发布与订阅 Publish类 package com.cb01; import javax.jms.Connection; import javax.jms.ConnectionFactory; import javax.jms.Destination; import javax.jms.JMSException; import javax.jms.MessageProducer; i
activeMQ消息队列消息的发送
package cn.xdl.test; /** * * @author wxk * @date 2017年11月17日 */import java.util.HashMap; import javax.jms.BytesMessage; import javax.jms.Connection; import javax.jms.ConnectionFactory; import j
ActiveMq Jmx消息提取
ActiveMq jmx 数据解析
JMS之——ActiveMQ消息持久化
之前的几篇博文中,我们实现的ActiveMQ消息未实现消息的持久化,一旦ActiveMQ服务重启则未发送的消息全部丢失,所以实现ActiveMQ消息的持久化也是很重要的。那么,这篇文章,我就带着大家一起来实现ActiveMQ消息的持久化。本博文主要是将ActiveMQ消息持久化到MySQL数据库。实现ActiveMQ消息的持久化主要是修改ActiveMQ conf目录下的activemq.xml文
ActiveMQ 获取消息数据
ActiveMQ版本:apache-activemq-5.5.1 1.修改配置文件,开放ActiveMQ的监控功能 step1:修改${ACTIVEMQ_HOME}/conf/activemq.xml step2:修改启动脚本${ACTIVEMQ_HOME}/bin/activemq,找到下面几行,解除注释
ActiveMQ消息持久化到数据库
以持久化到mysql为例安装ActiveMQ默认是持久化到文件中,具体配置如下:&amp;lt;persistenceAdapter&amp;gt; &amp;lt;kahaDB directory=&quot;${activemq.base}/data/kahadb&quot;/&amp;gt; &amp;lt;/persistenceAdapter&amp;gt;1. 首先需要把MySql的驱动放到ActiveMQ的Lib目录下2. 修改配置文件&amp;lt;per...
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数