activemq 删除过期消息

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

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

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

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

楼上答案不对,不活动指的是没有消费者也没消息的空队列,这个配置没意义。
过期后自动进入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> 

此贴以后还不会回了。