从DLQ重新传递JMS消息

时间:2019-12-04 14:22:37

标签: wildfly wildfly-8

我有两个组件通过Wildfly实例中的jms队列进行通信。一旦队列的使用者断开连接或被停止,消息就会转发到DLQ(至少在重新启动wildfly时)。

是否可以将wildfly配置为在使用者重新连接到队列后自动从DLQ重新传递消息?

一些细节

  • Wildfly版本:8.2.0

  • standalone.xml-据我所知,没什么特别的


        <jms-destinations>
            <jms-queue name="ExpiryQueue">
                <entry name="java:/jms/queue/ExpiryQueue"/>
                <durable>false</durable>
            </jms-queue>
            <jms-queue name="DLQ">
                <entry name="java:/jms/queue/DLQ"/>
                <durable>false</durable>
            </jms-queue>
                            ...
            <jms-queue name="Q1-Producer-to-Consumer">
                <entry name="java:/queue/Q1-Producer-to-Consumer"/>
                <entry name="java:jboss/exported/queue/Q1-Producer-to-Consumer"/>
                <durable>false</durable>
            </jms-queue>

    </jms-destinations>

谢谢。

1 个答案:

答案 0 :(得分:0)

DLQ仅获取在消息处理过程中引发异常的消息。如果消费者断开连接,这些消息将仍然坐在那里等待发送

如果您看到一个问题,即在服务器重新启动期间消息到达DLQ的问题,则表明您的使用者在消耗其所需资源之前正在消耗消息,因此在处理消息时也会出错。最好让您的使用者不要过早开始使用消息,而不是尝试从DLQ找回失败的消息