/// <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)); }
/// <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))); }