/// <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));
 }
Esempio n. 2
0
        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));
 }
Esempio n. 10
0
 public RoutingSlipTerminatedConsumer(IRoutingSlipEventPersister persister)
 {
     _persister = persister;
 }