public static T AddTransportFactory <T, TTransport>(this T configurator, Func <TTransport> transportFactoryFactory)
            where T : EndpointFactoryConfigurator
            where TTransport : ITransportFactory
        {
            var transportFactoryConfigurator = new TransportFactoryConfigurator <TTransport>(transportFactoryFactory);

            configurator.AddEndpointFactoryConfigurator(transportFactoryConfigurator);

            return(configurator);
        }
Beispiel #2
0
        /// <summary>
        /// <para>This method specifies that the service bus under configuration is to
        /// use RabbitMQ for message queueing. See http://readthedocs.org/docs/masstransit/en/latest/configuration/transports/rabbitmq.html.
        /// This method also calls <see cref="SerializerConfigurationExtensions.UseJsonSerializer{T}"/>.</para>
        ///
        /// </summary>
        /// <typeparam name="T">configurator type param</typeparam>
        /// <param name="configurator">configurator instance</param>
        /// <param name="configureFactory">custom action used to call APIs on the configurator</param>
        /// <returns>the configurator instance</returns>
        public static void UseRabbitMq(this IEndpointFactoryConfigurator configurator,
                                       Action <ITransportFactoryConfigurator> configureFactory)
        {
            var transportFactoryConfigurator = new TransportFactoryConfigurator();

            configureFactory(transportFactoryConfigurator);

            configurator.AddTransportFactory(transportFactoryConfigurator.Build);

            configurator.UseJsonSerializer();
        }