public static IServiceBus Create( Action <IMassInstanceBusFactoryConfigurator> configure, IMassInstanceConsumerFactory consumerFactory) { var topologyConfiguration = new RabbitMqTopologyConfiguration(MessageTopology); var busConfiguration = new RabbitMqBusConfiguration(topologyConfiguration); var busEndpointConfiguration = busConfiguration.CreateEndpointConfiguration(); var sagaMessageExtractor = new SagaMessageExtractor(); var configurator = new MassInstanceBusFactoryConfigurator( busConfiguration, busEndpointConfiguration, consumerFactory, sagaMessageExtractor); configure(configurator); var result = BusConfigurationResult.CompileResults(configurator.Validate()); try { return(configurator.CreateBus()); } catch (Exception ex) { throw new ConfigurationException(result, "An exception occurred during bus creation", ex); } }
public static IServiceBus CreateMassInstanceRabbitMqBus( this IBusFactorySelector busFactorySelector, IMassInstanceConsumerFactory consumerFactory, Action <IMassInstanceBusFactoryConfigurator> configure) { return(MassInstanceBusFactory.Create( configure, consumerFactory)); }
public MassInstanceBusFactoryConfigurator( IRabbitMqBusConfiguration configuration, IRabbitMqEndpointConfiguration busEndpointConfiguration, IMassInstanceConsumerFactory consumerFactory, ISagaMessageExtractor sagaMessageExtractor) : base(configuration, busEndpointConfiguration) { _consumerFactory = consumerFactory; _sagaMessageExtractor = sagaMessageExtractor; }