从DLQ传递JMS消息

问题描述 投票:1回答:1

我有两个组件通过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>

谢谢。

wildfly wildfly-8
1个回答
0
投票

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

如果看到一个问题,即服务器重启期间消息到达DLQ,这表明您的使用者正在消耗消息,而所需的资源却不可用,因此在处理消息时也会出错。您最好将自己的使用者修复为不要过早开始使用消息,而不是尝试从DLQ找回失败的消息

© www.soinside.com 2019 - 2024. All rights reserved.