2017-07-12 28 views
0

我有兩個消費者:MassTransit沒有創造_error隊列

public class SendEmailConsumer : ConsumerBase, IConsumer<ISendEmail> 
    {  
     public Task Consume(ConsumeContext<ISendEmail> context) 
     { 
      throw new Exception("aaa"); 
     } 
    } 




public class IntegrateNewCostCenterConsumer: ConsumerBase, IConsumer<IIntegrateCostCenter> 
     {  
      public Task Consume(ConsumeContext<ISendEmail> context) 
      { 
       throw new Exception("aaa"); 
      } 
     } 

都使用相同的配置:

cfg.ReceiveEndpoint(host, MessageHandlerConstants.IntegrateCostCenter, e => 
      { 
       // doc http://masstransit-project.com/MassTransit/advanced/middleware/circuit-breaker.html 
       e.UseCircuitBreaker(cb => 
       { 
        cb.TripThreshold = 15; 
        cb.ResetInterval = TimeSpan.FromMinutes(5); 
        cb.TrackingPeriod = TimeSpan.FromMinutes(1); 
        cb.ActiveThreshold = 10; 
       }); 

       e.UseRetry(r => r.Interval(5, new TimeSpan(0, 0, 10))); 
       e.Consumer<IntegrateNewCostCenterConsumer>(); 
      }); 


cfg.ReceiveEndpoint(host, MessageHandlerConstants.SendEmail, e => 
      { 
       // doc http://masstransit-project.com/MassTransit/advanced/middleware/circuit-breaker.html 
       e.UseCircuitBreaker(cb => 
       { 
        cb.TripThreshold = 15; 
        cb.ResetInterval = TimeSpan.FromMinutes(5); 
        cb.TrackingPeriod = TimeSpan.FromMinutes(1); 
        cb.ActiveThreshold = 10; 
       }); 

       e.UseRetry(r => r.Interval(10, new TimeSpan(0, 0, 60))); 
       e.Consumer<SendEmailConsumer>(); 
      }); 

的問題只是IntegrateCostCenter有sucessfuly爲例外創建_error隊列。兩者都正常處理。我做錯了什麼?

enter image description here

回答

0

錯誤隊列創建,只有當所有的嘗試都失敗是。