HornetQ 在 Jboss EAP 6.1 上的持久性

HornetQ persistence on Jboss EAP 6.1

所以我在 Jboss 上使用 HonetQ,但我 运行 遇到了问题。现在,如果 jms 消息到达我们的队列,突然发生崩溃或重启,我们所有的消息都将丢失。我已经阅读了有关在队列上启用持久性的信息,但正如我所见,此参数默认为 true。我已经阅读了其他用户的几个问题,例如 "where you using persistence ?" 和 "was persistence enabled?"。他们指的这种坚持到底是什么?在队列级别?或者是否有更高级别的 Hornet/Jboss 配置?

希望能帮到你!

HornetQ 持久性是通过 hornetq-configuration.xml 中的 persistence-enabled 参数配置的。它应该默认为 true,但也许明确设置它可以解决您的问题。

了解更多信息 here

on jboss hornetQ配置在jboss配置的消息域中(standalone/domain.xml)

 <subsystem xmlns="urn:jboss:domain:messaging:1.1">
        <hornetq-server>
            <persistence-enabled>true</persistence-enabled>
            [...]

您也可以在发帖时将其设置在消息本身

messageProducer.send(objectMessage, DeliveryMode.PERSISTENT, priority, timeToLive);

还要确保队列没有配置 durable 标志为 false

<jms-queue name="myQueueName">
     <entry name="queue/myQueueName"/>
     <entry name="java:jboss/exported/jms/queue/myQueueName"/>
</jms-queue>

What is the meaning of 'durable' attribute for JMS Queue in JBoss 7 with HornetQ?