java - Jboss EAP 6.1 上的 HornetQ 持久性

标签 java jakarta-ee jms jboss7.x hornetq

所以我在 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/

相关文章:

java - 如何设置没有@id 元素的@entity?

java - 虽然 Java 中的 try/catch 打破了 true 循环

java - 如何从java应用程序序列化和在android上反序列化?

mongodb - 在 JavaEE Web 服务中使用单个 MongoClient

java - 事务交替超时

maven - 在 pom.xml 中包含 vaadin-cdi 依赖项足以使 WAR 无法部署。为什么?

java - 什么时候消息传递(例如 JMS)是多线程的替代方案?

java - 在编译时删除某些 Java 类的使用

java - 具有系统变量的 WSO2 JMS 地址端点 uri

iphone - iPhone可以与JMS通信吗?