public IBusControl CreateBus(IBusServiceConfigurator busServiceConfigurator, string serviceName) { return(RabbitMqBusFactory.Create(configurator => { configurator.Host(_hostSettings); LogContext.Info?.Log("Configuring Host: {Host}", _hostSettings.ToDescription()); var serviceConfigurator = new RabbitMqServiceConfigurator(configurator); busServiceConfigurator.Configure(serviceConfigurator); })); }
/// <summary> /// Add a RabbitMQ bus /// </summary> /// <param name="configurator">The registration configurator</param> /// <param name="configure">The configure callback method</param> /// <typeparam name="TContainerContext"></typeparam> public static void AddRabbitMqBus <TContainerContext>(this IRegistrationConfigurator <TContainerContext> configurator, Action <TContainerContext, IRabbitMqBusFactoryConfigurator> configure) { IBusControl BusFactory(TContainerContext context) { return(RabbitMqBusFactory.Create(cfg => { configure(context, cfg); })); } configurator.AddBus(BusFactory); }
public IBusControl CreateBus(IBusServiceConfigurator busServiceConfigurator, string serviceName) { return(RabbitMqBusFactory.Create(configurator => { var host = configurator.Host(_hostSettings); if (_log.IsInfoEnabled) { _log.Info($"Configuring Host: {_hostSettings.ToDebugString()}"); } var serviceConfigurator = new RabbitMqServiceConfigurator(configurator, host); busServiceConfigurator.Configure(serviceConfigurator); })); }
static void Main(string[] args) { var bus = RabbitMqBusFactory.Create(configurator => { var host = configurator.Host(new Uri("rabbitmq://rabbitmq"), h => { h.Username("guest"); h.Password("guest"); }); configurator.ReceiveEndpoint(host, "example.com.mytopic", endpointConfigurator => { endpointConfigurator.Consumer(() => new ErrorConsumer()); }); }); bus.Start(); bus.Publish <IMessage>(new { Text = "this is a message" }); }
/// <summary> /// Select RabbitMQ as the transport for the service bus /// </summary> public static IBusControl CreateUsingRabbitMq(this IBusFactorySelector selector, Action <IRabbitMqBusFactoryConfigurator> configure) { return(RabbitMqBusFactory.Create(configure)); }