protected override void ConfigureConsumer( IReceiveEndpointConfigurator endpointConfigurator, // endPoint 는 이걸로 설정 IConsumerConfigurator <SubmitOrderConsumer> consumerConfigurator // consumer pipeline 을 설정. ) { // 메시지 처리시 Unhandled Exception 발생하면, Retry 하게 할 수 있다. endpointConfigurator.UseMessageRetry(configurator => { configurator.Intervals(TimeSpan.FromSeconds(3), TimeSpan.FromSeconds(10)); }); // pipeline! DEMO! (DEMO 는 DEMO일 뿐 통상 아래같은 코드는 하지 않는다. ) // 잘 보면 ... pipeline = middleware! // 1) 현 Consumer에 대한 Pipeline 구성 // consumerConfigurator.UseFilter(new RepeatFilter<ConsumerConsumeContext<SubmitOrderConsumer>>()); consumerConfigurator.UseExecuteAsync(context => { Console.WriteLine("@@@ {0} --> {1}", context.SourceAddress, context.DestinationAddress); return(Task.CompletedTask); }); // 2) 현 Consumer의 특정 메시지에 대한 pipeline 구성 consumerConfigurator.Message <SubmitOrder>(configurator => { configurator.UseExecuteAsync(context => { Console.WriteLine("@@@@ SubmitOrder 메시지가 왔네요? : {0}.", context.Message); return(Task.CompletedTask); }); }); }