Ejemplo n.º 1
0
        /// <summary>
        /// Registers the bus as a RabbitMQ bus.
        /// </summary>
        /// <param name="builder"></param>
        /// <returns></returns>
        public static BusRegistrationBuilder UsingRabbitMq(this BusRegistrationBuilder builder)
        {
            if (builder is null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            return(UsingRabbitMq(builder, o => { }));
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Registers the bus as a RabbitMQ Bus.
 /// </summary>
 /// <param name="builder"></param>
 /// <param name="configure"></param>
 /// <returns></returns>
 static void RegisterDefinition(this BusRegistrationBuilder builder)
 {
     // we need to register the bus definition only once
     if (builder.Builder.Properties.ContainsKey($"{typeof(BusDefinition)}::{builder.Name}") == false)
     {
         var i = new BusDefinition(builder.Name, Bus.Factory.CreateUsingRabbitMq);
         builder.Builder.RegisterInstance(i);
         builder.Builder.Properties.Add($"{typeof(BusDefinition)}::{builder.Name}", i);
     }
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Registers the bus as a RabbitMQ Bus.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="configure"></param>
        /// <returns></returns>
        public static BusRegistrationBuilder UsingRabbitMq(this BusRegistrationBuilder builder, Action <RabbitMqBusOptions> configure)
        {
            if (builder is null)
            {
                throw new ArgumentNullException(nameof(builder));
            }
            if (configure is null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            RegisterDefinition(builder);
            builder.Builder.Configure(builder.Name, configure);
            return(builder);
        }
        /// <summary>
        /// Registers the bus as an InMemory Bus.
        /// </summary>
        /// <param name="builder"></param>
        /// <param name="configure"></param>
        /// <returns></returns>
        public static BusRegistrationBuilder UsingInMemoryBus(this BusRegistrationBuilder builder, Action <InMemoryBusOptions> configure)
        {
            if (builder is null)
            {
                throw new ArgumentNullException(nameof(builder));
            }
            if (configure is null)
            {
                throw new ArgumentNullException(nameof(configure));
            }

            RegisterDefinition(builder);
            builder.Builder.Populate(c => c.Configure(builder.Name, configure));
            return(builder);
        }