所以我在 Jboss 上使用 HonetQ,但遇到了问题。现在,如果 jms 消息到达我们的队列,突然发生崩溃或重新启动,我们所有的消息都将丢失。我已阅读有关在队列上启用持久性的信息,但正如我所见,此参数默认为 true。我读过其他用户的几个问题,例如“您在哪里使用持久性?”和“是否启用了持久性?”。他们所指的这个坚持究竟是什么呢?在队列级别?或者有没有像Hornet/Jboss这样的更高级别的配置?
希望能帮到你!
最佳答案
在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?
关于java - Jboss EAP 6.1 上的 HornetQ 持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31264076/