【问题标题】:auto process with DLQ configuration in spring xd在spring xd中使用DLQ配置自动处理
【发布时间】:2015-11-14 04:02:34
【问题描述】:

1)我想为我的流配置 DLQ

 stream create --name httptest7 --definition "http |  http-client --url='''http://localhost:8080/mock-sentmessage/customers/send-email''' --httpMethod=GET | log" 
stream deploy httptest7 --properties module.*.consumer.autoBindDLQ=true

2)我做了

autoBindDLQ=true

我怀疑 spring xd 是否无法处理我的消息并将其发布到 dlq。他们会自动移动到我的原始队列重试还是我应该编写一个处理器将我的 DLQ 消息移动到我的原始队列

3)现在我关闭了我的网络服务 http://localhost:8080/mock-sentmessage/customers/send-email 我可以看到我的 dlq 中填写的消息。

4) 当我提出我的服务时。但根据我的理解,我从 DLQ 认为,当我的服务启动时,该消息将再次重试。

但从 DLQ 开始,它不会再次重试。我需要设置什么配置吗?

根据文档:

没有提供将死信消息移回总线队列的自动机制。

【问题讨论】:

    标签: rabbitmq spring-xd


    【解决方案1】:

    我不确定您的问题是什么,或者即使您有问题;您似乎通过引用文档回答了您自己的问题:

    没有提供将死信消息移回总线队列的自动机制。

    所以,不;没有可以更改的“设置”。

    您可以做几件事 - 编写自己的代码将消息从 DLQ 移回主队列;只需使用 Spring AMQP 或您选择的任何语言编写几行 Java。

    您还可以使用technique described here 在 DLQ 上设置消息 TTL,并将其配置为在 TTL 到期时路由回主队列。

    【讨论】:

      【解决方案2】:

      如您所知,您可以使用 Rabbitmq 中的 shovel 插件来执行从 DLQ 到总线队列的移动。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-27
        相关资源
        最近更新 更多