/// <summary> /// Implements a distributor-to-worker pattern for the given message type. /// </summary> /// <typeparam name="T">The type of message to use the distributor</typeparam> /// <param name="configurator">Service bus to implement the distributor</param> public static void UseDistributorFor <T>(this ServiceBusConfigurator configurator) where T : class { configurator.AddService(BusServiceLayer.Presentation, () => new Distributor <T>()); configurator.SetReceiveTimeout(50.Milliseconds()); }
/// <summary> /// Implements a distributor-to-worker pattern for the given message type. /// </summary> /// <typeparam name="TMessage">The type of to use the distributor</typeparam> /// <param name="configurator">Service bus to implement the distributor</param> /// <param name="workerSelectionStrategy">The <code>IWorkerSelectionStrategy</code> /// used to pick which worker node to send a message</param> public static void UseDistributorFor <TMessage>(this ServiceBusConfigurator configurator, IWorkerSelectionStrategy <TMessage> workerSelectionStrategy) where TMessage : class { configurator.AddService(BusServiceLayer.Presentation, () => new Distributor <TMessage>(workerSelectionStrategy)); configurator.SetReceiveTimeout(50.Milliseconds()); }
public static void ImplementDistributorWorker <TMessage>(this ServiceBusConfigurator configurator, Func <TMessage, Action <TMessage> > getConsumer, int inProgressLimit, int pendingLimit) where TMessage : class { var settings = new WorkerSettings { InProgressLimit = inProgressLimit, PendingLimit = pendingLimit }; configurator.AddService(BusServiceLayer.Presentation, () => new Worker <TMessage>(getConsumer, settings)); }
protected void ConnectSubscriptionService(ServiceBusConfigurator configurator, ISubscriptionService subscriptionService) { configurator.AddService(BusServiceLayer.Session, () => new SubscriptionPublisher(subscriptionService)); configurator.AddService(BusServiceLayer.Session, () => new SubscriptionConsumer(subscriptionService)); }
public static void ImplementDistributorWorker <TMessage>(this ServiceBusConfigurator configurator, Func <TMessage, Action <TMessage> > getConsumer) where TMessage : class { configurator.AddService(BusServiceLayer.Presentation, () => new Worker <TMessage>(getConsumer)); }
public static void ImplementSagaDistributorWorker <T>(this ServiceBusConfigurator configurator, ISagaRepository <T> repository) where T : SagaStateMachine <T>, ISaga { configurator.AddService(BusServiceLayer.Presentation, bus => new SagaWorker <T>(repository)); }
private void AddServiceForDataEvent <TMessage>() where TMessage : class { _configurator.AddService(BusServiceLayer.Presentation, () => new Distributor <TMessage>()); }