0

如您所知,在 Masstransit 中,我们可以设置 UseMessageRetry。该方法可以帮助我们再次重试消息发送过程。只要我们遇到错误,这个过程就会继续。我遇到的问题是这个设置是每条消息的单例。我想要的是为特定消息(信使)设置不同的配置。

我为所有消息设置的设置如下:

   config.UseMessageRetry(x =>
                {
                    x.Incremental(100,
                        TimeSpan.FromSeconds(1),
                        TimeSpan.FromMilliseconds(100));
                });

如果有人可以帮助我,我将不胜感激。

4

1 回答 1

1

在总线配置级别配置消息重试时,该重试策略适用于所有接收端点。要为特定接收端点配置不同的策略,您需要在接收端点配置中指定不同的重试策略。

如果您正在使用配置接收端点的更好方法ConfigureEndpoints()是注册一个IConfigureReceiveEndpoint类型并检查队列名称以查看它是否与执行或补偿队列名称匹配,并在该场景中应用不同的重试。

于 2021-09-07T14:59:07.633 回答