我们有这个队列,我们得到一些大文件和许多小文件,所以我们使用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>
答案 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