【问题标题】:MassTransit Saga delayed exchange errorMassTransit Saga 延迟兑换错误
【发布时间】:2018-03-07 18:04:43
【问题描述】:

我正在使用 RabbitMq 配置 massTransit 总线以使用延迟交换插件:

sbc.UseDelayedExchangeMessageScheduler();

我在 saga 中使用计划事件,一切正常,但出现以下错误:

RabbitMQ 延迟交换不支持取消

有什么特别需要配置的吗?

【问题讨论】:

    标签: c# rabbitmq masstransit


    【解决方案1】:

    就是这样,没有什么可配置的。

    延迟交换不支持取消计划,因此如果您使用带有超时或常规取消计划的请求/响应 - 它将不起作用。

    【讨论】:

    • 我想知道我是否应该默默地失败,而不是抛出异常,所以这不会发生。
    • @ChrisPatterson 我认为人们知道什么时候没有计划外消息是很重要的。当没有配置调度时,MT 在 sagas requesr-response 中也会失败。
    • 您好,消息已正确安排在我这边,但抛出异常并且不影响 saga 的行为,不知道这是否有帮助
    • 问题是,当您决定取消计划时,它将不起作用。可能 Chris 是对的,而 MT 需要发出警告并且只抛出 Unschedule。
    • 同意,一个警告就足够了,因为这是rabbitmq的当前行为。然后客户端意识到并需要使用不同的机制来处理取消调度。
    猜你喜欢
    • 1970-01-01
    • 2021-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-20
    • 1970-01-01
    相关资源
    最近更新 更多