转移到hornetq上的大文件会留下文件的副本

时间:2014-05-09 17:08:26

标签: hornetq

我们有这个队列,我们​​得到一些大文件和许多小文件,所以我们使用divert将大文件放到自己的队列中。 转移是独家的。但是请注意,在大消息文件夹下,有两个消息副本(这是一个bytesmessage - 具有属性的文件),用于转移的每个大消息。一旦我们消耗了转移的消息,其中一个消失了,但另一个消失,直到大黄蜂重新启动。重新启动后,我们会看到如下消息:

[org.hornetq.core.server] HQ221018:大消息:19,327,352,827没有任何关联引用,文件将被删除

我们使用JMS上的流媒体将它们放入并取出它们。

以下是转移配置。顺便说一句,在我们的HornetQ中,大尺寸被认为超过100k。

我们是否遗漏了任何东西,或者我们只是发现了一个错误?

HornetQ版本是2.3.0

<diverts>
    <divert name="large-message-divert">      
        <routing-name>large-message-divert</routing-name>
        <address>jms.queue.FileDelivery</address>
        <forwarding-address>jms.queue.FileDelivery.large</forwarding-address>
        <filter string="_HQ_LARGE_SIZE IS NOT NULL AND _HQ_LARGE_SIZE > 52428800"/>
        <exclusive>true</exclusive>
    </divert>
</diverts>

1 个答案:

答案 0 :(得分:1)

这可能是后来发布的hornetq中修复的一个错误,因为自从2.3.0到我写这个答案时的当前日期至少有2个修复:

HORNETQ-1292 - Delete large message from disk when message is dropped
HORNETQ-431 - Large Messages Files NOT DELETED on unbounded address