public static void UseRabbitMqRouting(this ServiceBusConfigurator configurator) { configurator.SetSubscriptionObserver((bus, coordinator) => new RabbitMqSubscriptionBinder(bus)); var busConfigurator = new PostCreateBusBuilderConfigurator(bus => { var interceptorConfigurator = new OutboundMessageInterceptorConfigurator(bus.OutboundPipeline); interceptorConfigurator.Create(new PublishEndpointInterceptor(bus)); }); configurator.AddBusConfigurator(busConfigurator); configurator.UseRabbitMq(); }
/// <summary> /// Specifies that RabbitMQ should be added as a transport for the service bus. /// </summary> /// <param name="configurator"></param> /// <returns></returns> public static ServiceBusConfigurator UseRabbitMq(this ServiceBusConfigurator configurator) { configurator.SetSubscriptionObserver((bus, coordinator) => new RabbitMqSubscriptionBinder(bus)); var busConfigurator = new PostCreateBusBuilderConfigurator(bus => { var interceptorConfigurator = new OutboundMessageInterceptorConfigurator(bus.OutboundPipeline); // make sure we publish correctly through this interceptor; works on the outgoing pipeline interceptorConfigurator.Create(new PublishEndpointInterceptor(bus)); }); configurator.AddBusConfigurator(busConfigurator); return(UseRabbitMq <ServiceBusConfigurator>(configurator)); }
/// <summary> /// Specifies that RabbitMQ should be added as a transport for the service bus. Includes a callback /// that can configure additional settings on the transport, such as SSL. /// </summary> /// <param name="configurator"></param> /// <param name="configureFactory"></param> /// <returns></returns> public static void UseRabbitMq(this ServiceBusConfigurator configurator, Action <RabbitMqTransportFactoryConfigurator> configureFactory) { configurator.SetSubscriptionObserver((bus, coordinator) => new RabbitMqSubscriptionBinder(bus)); var busConfigurator = new PostCreateBusBuilderConfigurator(bus => { var interceptorConfigurator = new OutboundMessageInterceptorConfigurator(bus.OutboundPipeline); // make sure we publish correctly through this interceptor; works on the outgoing pipeline interceptorConfigurator.Create(new PublishEndpointInterceptor(bus)); }); configurator.AddBusConfigurator(busConfigurator); UseRabbitMq((EndpointFactoryConfigurator)configurator, configureFactory); }