/// <summary> /// Configure the routing slip activity event consumers on a receive endpoint /// </summary> /// <param name="configurator"></param> /// <param name="persister"></param> public static void RoutingSlipActivityEventConsumers(this IReceiveEndpointConfigurator configurator, IRoutingSlipEventPersister persister) { configurator.Consumer(() => new RoutingSlipActivityCompensatedConsumer(persister)); configurator.Consumer(() => new RoutingSlipActivityCompletedConsumer(persister)); configurator.Consumer(() => new RoutingSlipActivityFaultedConsumer(persister)); configurator.Consumer(() => new RoutingSlipActivityCompensationFailedConsumer(persister)); }
public Program() { _client = new MongoClient(); _database = _client.GetDatabase("masstransitcouriersample"); _routingSlips = _database.GetCollection <RoutingSlipDocument>("routing_slips"); _persister = new RoutingSlipEventPersister(_routingSlips); _busControl = Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(new Uri("rabbitmq://localhost"), hc => { hc.Username("guest"); hc.Password("guest"); }); cfg.ReceiveEndpoint(host, "generatefinalinvoice", ep => { ep.ExecuteActivityHost <GenerateFinalProratedInvoice, GenerateFinalProratedInvoiceArguments>(); }); cfg.ReceiveEndpoint(host, "chargeallopeninvoices", ep => { ep.ExecuteActivityHost <ChargeAllOpenInvoices, ChargeAllOpenInvoicesArguments>(); }); cfg.ReceiveEndpoint(host, "closeaccount", ep => { ep.ExecuteActivityHost <CloseAccount, CloseAccountArguments>(); }); cfg.ReceiveEndpoint(host, "RoutingSlipEvents", ep => { var partitioner = cfg.CreatePartitioner(16); ep.RoutingSlipEventConsumers(_persister, partitioner); ep.RoutingSlipActivityEventConsumers(_persister, partitioner); }); }); _busControl.Start(); }
/// <summary> /// Configure the routing slip activity event consumers on a receive endpoint /// </summary> /// <param name="configurator"></param> /// <param name="persister"></param> /// <param name="partitioner">Use a partitioner to reduce duplicate key errors</param> public static void RoutingSlipActivityEventConsumers(this IReceiveEndpointConfigurator configurator, IRoutingSlipEventPersister persister, IPartitioner partitioner) { configurator.Consumer(() => new RoutingSlipActivityCompensatedConsumer(persister), x => x.ConfigureMessage<RoutingSlipActivityCompensated>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); configurator.Consumer(() => new RoutingSlipActivityCompletedConsumer(persister), x => x.ConfigureMessage<RoutingSlipActivityCompleted>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); configurator.Consumer(() => new RoutingSlipActivityFaultedConsumer(persister), x => x.ConfigureMessage<RoutingSlipActivityFaulted>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); configurator.Consumer(() => new RoutingSlipActivityCompensationFailedConsumer(persister), x => x.ConfigureMessage<RoutingSlipActivityCompensationFailed>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); }
public RoutingSlipRevisedConsumer(IRoutingSlipEventPersister persister) { _persister = persister; }
public RoutingSlipActivityCompensationFailedConsumer(IRoutingSlipEventPersister persister) { _persister = persister; }
public RoutingSlipActivityFaultedConsumer(IRoutingSlipEventPersister persister) { _persister = persister; }
public RoutingSlipCompletedConsumer(IRoutingSlipEventPersister persister) { _persister = persister; }
/// <summary> /// Configure the routing slip activity event consumers on a receive endpoint /// </summary> /// <param name="configurator"></param> /// <param name="persister"></param> /// <param name="partitioner">Use a partitioner to reduce duplicate key errors</param> public static void RoutingSlipActivityEventConsumers(this IReceiveEndpointConfigurator configurator, IRoutingSlipEventPersister persister, IPartitioner partitioner) { configurator.Consumer(() => new RoutingSlipActivityCompensatedConsumer(persister), x => x.Message <RoutingSlipActivityCompensated>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); configurator.Consumer(() => new RoutingSlipActivityCompletedConsumer(persister), x => x.Message <RoutingSlipActivityCompleted>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); configurator.Consumer(() => new RoutingSlipActivityFaultedConsumer(persister), x => x.Message <RoutingSlipActivityFaulted>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); configurator.Consumer(() => new RoutingSlipActivityCompensationFailedConsumer(persister), x => x.Message <RoutingSlipActivityCompensationFailed>(y => y.UsePartitioner(partitioner, p => p.Message.TrackingNumber))); }
/// <summary> /// Configure the routing slip activity event consumers on a receive endpoint /// </summary> /// <param name="configurator"></param> /// <param name="persister"></param> public static void RoutingSlipActivityEventConsumers(this IReceiveEndpointConfigurator configurator, IRoutingSlipEventPersister persister) { configurator.Consumer(() => new RoutingSlipActivityCompensatedConsumer(persister)); configurator.Consumer(() => new RoutingSlipActivityCompletedConsumer(persister)); configurator.Consumer(() => new RoutingSlipActivityFaultedConsumer(persister)); configurator.Consumer(() => new RoutingSlipActivityCompensationFailedConsumer(persister)); }
public RoutingSlipTerminatedConsumer(IRoutingSlipEventPersister persister) { _persister = persister; }