如何强制Rabbit MQ积累并再次发送消息?

亚历克斯

我在XML文件中配置了几个Spring-Integration元素(请参见下文),这些消息从amqp通道适配器定向到具有实现integrationRouterImpl的路由器integrationSecondaryRouter。

如果IntegrationRouterImpl中没有捕获到异常,我希望Rabbit MQ会一次又一次地发送消息。但是,这不会发生。Rabbit MQ监视器不显示任何消息累积。我的配置有错误吗?

<int-amqp:inbound-channel-adapter 
    channel="integrationFrontDoorQueueChannel" 
    queue-names="${integration.creation.orders.queue.name}" 
    header-mapper="integrationHeaderMapper"
    connection-factory="connectionFactory" 
    error-channel="errorChannel" 
/>

<int:chain 
        id="integrationFrontDoorQueueChain" 
        input-channel="integrationFrontDoorQueueChannel"
        output-channel="integrationRouterChannel">
    <int:transformer ref="integrationJsonPayloadTransformer" method="transformMessagePayload"/>
    <int:filter ref="integrationNonDigitalCancellationFilter" method="filter"/>
    <int:filter ref="integrationPartnerFilter" method="filter"/>
    <int:filter ref="integrationOrderDtoDgcAndGoSelectFilter" method="filter"/>

</int:chain>

 <int:header-value-router 
    id="integrationPrimaryRouter"
    input-channel="integrationRouterChannel" 
    default-output-channel="integrationFrontDoorRouterChannel"
    resolution-required="false"
    header-name="#{T(com.smartdestinations.constants.SdiConstants).INTEGRATION_PAYLOAD_ACTION_HEADER_KEY}">
    <int:mapping 
        value="#{T(com.smartdestinations.service.integration.dto.IntegrationAction).EXCLUSION_SCAN.name()}" 
        channel="integrationExclusionChannel" 
    />
</int:header-value-router>


<int:router 
        id="integrationSecondaryRouter"
        ref="integrationRouterImpl" 
        input-channel="integrationFrontDoorRouterChannel"
        method="route" 
        resolution-required="false" 
        default-output-channel="nullChannel"
/>
阿尔特姆·比兰(Artem Bilan)

看,您有关于此事error-channel="errorChannel"文档,并指出:

默认的“ errorChannel”是PublishSubscribeChannel。

是的,有一个订阅者。但是只是_org.springframework.integration.errorLogger

由于没有人将您的例外重新引发到SimpleMessageListenerContainer,因此没有理由发送nack消息并再次将其重新交付。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Play Framework通过Rabbit MQ发送消息

来自分类Dev

我如何恢复 Telethon 电报中旧的会话并再次连接(无需再次发送代码))

来自分类Dev

如何从客户端重试Rabbit MQ中的消息?

来自分类Dev

如何使用Java通过Rabbit MQ将相关ID从发送方发送到消息中以及如何从接收方检索到接收到的消息头中

来自分类Dev

Rabbit MQ取消确认消息未返回到队列以供使用者再次处理

来自分类Dev

如何在Rabbit MQ中删除队列

来自分类Dev

如何在Node.js上仅消耗Rabbit MQ的一条消息

来自分类Dev

如何通过Spring将消息重新排队到Rabbit MQ队列的后面

来自分类Dev

如何使JMS消息发送到MQ以完全提交?

来自分类Dev

在 Rabbit MQ 中禁用保留的 MQTT 消息

来自分类Dev

如何强制再次调用for循环?

来自分类Dev

如何删除传单层并再次重画?

来自分类Dev

如何打破动画并再次运行它?

来自分类Dev

如何集成Rabbit MQ客户端库

来自分类Dev

如何强制TcpNetClientConnectionFactory打开连接而不发送消息?

来自分类Dev

套接字 IO 发送消息两次并再次获取

来自分类Dev

棱镜EventAggregator。接收事件并再次发送

来自分类Dev

如何让Regex删除冗余并再次调用自身?

来自分类Dev

如何导出已解决的承诺并再次导入

来自分类Dev

如何使用PIL从数组转到列表并再次返回?

来自分类Dev

如何检查从函数返回的值并再次重申循环?

来自分类Dev

如果输入不是bigDecimal,如何抛出异常并再次扫描?

来自分类Dev

如何从 JSON 解析 DiagnosticReport 并再次打印相同的 JSON?

来自分类Dev

向MQ发送消息时如何删除默认的Spring JMS Template头?

来自分类Dev

如何强制AmazonSQSBufferedAsyncClient刷新消息?

来自分类Dev

如何强制发送响应流?

来自分类Dev

如何强制 JSF 重新发送请求?

来自分类Dev

如何在VueJs中再次加载(重新加载)组件或销毁它并再次加载?

来自分类Dev

如何强制Discord在没有嵌入的情况下发送消息?

Related 相关文章

  1. 1

    Play Framework通过Rabbit MQ发送消息

  2. 2

    我如何恢复 Telethon 电报中旧的会话并再次连接(无需再次发送代码))

  3. 3

    如何从客户端重试Rabbit MQ中的消息?

  4. 4

    如何使用Java通过Rabbit MQ将相关ID从发送方发送到消息中以及如何从接收方检索到接收到的消息头中

  5. 5

    Rabbit MQ取消确认消息未返回到队列以供使用者再次处理

  6. 6

    如何在Rabbit MQ中删除队列

  7. 7

    如何在Node.js上仅消耗Rabbit MQ的一条消息

  8. 8

    如何通过Spring将消息重新排队到Rabbit MQ队列的后面

  9. 9

    如何使JMS消息发送到MQ以完全提交?

  10. 10

    在 Rabbit MQ 中禁用保留的 MQTT 消息

  11. 11

    如何强制再次调用for循环?

  12. 12

    如何删除传单层并再次重画?

  13. 13

    如何打破动画并再次运行它?

  14. 14

    如何集成Rabbit MQ客户端库

  15. 15

    如何强制TcpNetClientConnectionFactory打开连接而不发送消息?

  16. 16

    套接字 IO 发送消息两次并再次获取

  17. 17

    棱镜EventAggregator。接收事件并再次发送

  18. 18

    如何让Regex删除冗余并再次调用自身?

  19. 19

    如何导出已解决的承诺并再次导入

  20. 20

    如何使用PIL从数组转到列表并再次返回?

  21. 21

    如何检查从函数返回的值并再次重申循环?

  22. 22

    如果输入不是bigDecimal,如何抛出异常并再次扫描?

  23. 23

    如何从 JSON 解析 DiagnosticReport 并再次打印相同的 JSON?

  24. 24

    向MQ发送消息时如何删除默认的Spring JMS Template头?

  25. 25

    如何强制AmazonSQSBufferedAsyncClient刷新消息?

  26. 26

    如何强制发送响应流?

  27. 27

    如何强制 JSF 重新发送请求?

  28. 28

    如何在VueJs中再次加载(重新加载)组件或销毁它并再次加载?

  29. 29

    如何强制Discord在没有嵌入的情况下发送消息?

热门标签

归档