Exemplo n.º 1
2
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            configurator.ReceiveEndpoint(host, "input_queue_error", x =>
            {
                x.PurgeOnStartup = true;

                _errorHandler = Handled<PingMessage>(x);
            });
        }
Exemplo n.º 2
0
 protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
 {
     configurator.ReceiveEndpoint(host, "monitor", e =>
     {
         _pingsHandled = Handled<PingMessage>(e, 1000);
     });
 }
Exemplo n.º 3
0
        protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
        {
            ISymmetricKeyProvider keyProvider = new TestSymmetricKeyProvider("secure");

            var streamProvider = new AesCryptoStreamProvider(keyProvider, "default");
            configurator.UseEncryptedSerializer(streamProvider);

            base.ConfigureBus(configurator);
        }
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            configurator.ReceiveEndpoint(host, "input_queue_error", x =>
            {
                x.PurgeOnStartup = true;

                _errorHandler = Handled<PingMessage>(x, context => context.Message.CorrelationId == _pingMessage.CorrelationId);
                _errorHandler2 = Handled<PingMessage>(x, context => context.Message.CorrelationId == _pingMessage2.CorrelationId);
            });
        }
Exemplo n.º 5
0
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            base.ConfigureBusHost(configurator, host);

            configurator.ReceiveEndpoint(host, "priority_input_queue", x =>
            {
                x.EnablePriority(4);

                _endpointAddress = x.InputAddress;

                x.Handler<PingMessage>(context => context.RespondAsync(new PongMessage(context.Message.CorrelationId)));
            });
        }
Exemplo n.º 6
0
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            configurator.UseDelayedExchangeMessageScheduler();

            base.ConfigureBusHost(configurator, host);

            configurator.TurnoutEndpoint<ProcessFile>(host, "process_queue", endpoint =>
            {
                endpoint.SuperviseInterval = TimeSpan.FromSeconds(1);
                endpoint.SetJobFactory(async context => await Task.Delay(TimeSpan.FromSeconds(context.Command.Size)).ConfigureAwait(false));

                _commandEndpointAddress = endpoint.InputAddress;
            });
        }
 protected virtual void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
 {
 }
 protected virtual void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
 {
 }
Exemplo n.º 9
0
        protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
        {
            base.ConfigureBus(configurator);

            configurator.PrefetchCount = 100;
        }
Exemplo n.º 10
0
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            base.ConfigureBusHost(configurator, host);

            configurator.PrefetchCount = 100;

            configurator.ReceiveEndpoint(host, "input_queue_express", x =>
            {
                x.AutoDelete = true;
                x.Durable = false;
                x.PrefetchCount = 100;

                _serviceAddress = x.InputAddress;

                x.Handler<PingMessage>(async context =>
                {
                    try
                    {
                        await context.RespondAsync(new PongMessage(context.Message.CorrelationId));
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }
                });
            });
        }
Exemplo n.º 11
0
 /// <summary>
 ///  The extension method to register all endpoint receivers and their respective consumers in the service
 /// </summary>
 /// <param name="cfg"></param>
 /// <param name="ctx"></param>
 public static void RegisterEndPointReceivers(this IRabbitMqBusFactoryConfigurator cfg, IBusRegistrationContext ctx)
 {
     cfg.RegisterClientEventQueueReceiver(ctx);
 }
Exemplo n.º 12
0
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            configurator.UseDelayedExchangeMessageScheduler();

            base.ConfigureBusHost(configurator, host);

            configurator.TurnoutEndpoint<ProcessFile>(host, "process_queue", endpoint =>
            {
                endpoint.SuperviseInterval = TimeSpan.FromSeconds(1);
                endpoint.SetJobFactory(async context =>
                {
                    try
                    {
                        await Task.Delay(TimeSpan.FromSeconds(context.Command.Size), context.CancellationToken).ConfigureAwait(false);
                    }
                    catch (TaskCanceledException ex)
                    {
                        Console.WriteLine("Task was canceled!");
                        throw;
                    }
                });

                _commandEndpointAddress = endpoint.InputAddress;
            });
        }
Exemplo n.º 13
0
        protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
        {
            base.ConfigureBus(configurator);

            configurator.PublisherConfirmation = false;
        }
Exemplo n.º 14
0
        protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
        {
            base.ConfigureBus(configurator);

            configurator.PublisherConfirmation = false;
        }
Exemplo n.º 15
0
        protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
        {
            base.ConfigureBus(configurator);

            _busFactoryConfigurator = configurator;
        }
 public void Configure(IRabbitMqHost host, IRabbitMqBusFactoryConfigurator rabbitMqBusFactoryConfigurator)
 {
     _host = host;
     _rabbitMqBusFactoryConfigurator = rabbitMqBusFactoryConfigurator;
     _consumerRegistrar.RegisterAllConsumerTypes(Configure);
 }
Exemplo n.º 17
0
        private void ConfigureMassTransit(IServiceCollection services, IServiceProvider serviceProvider, IRabbitMqHost host, IRabbitMqBusFactoryConfigurator cfg)
        {
            var machine = new RoutingSlipStateMachine();

            services.AddSingleton <ISagaRepository <RoutingSlipState> >(sp => new EntityFrameworkSagaRepository <RoutingSlipState>(() => sp.GetRequiredService <OperationsDbContext>(), optimistic: true));

            cfg.ReceiveEndpoint(host, "routing_slip_state", e =>
            {
                e.PrefetchCount = 8;
                e.UseConcurrencyLimit(1);
                e.UseRetry(x =>
                {
                    x.Handle <DbUpdateConcurrencyException>();
                    x.Interval(5, TimeSpan.FromMilliseconds(100));
                }); // Add the retry middleware for optimistic concurrency
                e.StateMachineSaga(machine, new EntityFrameworkSagaRepository <RoutingSlipState>(() => new OperationsDbContext(new DbContextOptionsBuilder().UseMySql(Configuration.GetConnectionString("DatabaseConnection")).Options), optimistic: true));
            });

            cfg.ConfigureActivities(host, serviceProvider, Configuration);
        }
Exemplo n.º 18
0
 protected override void ConfigureRabbitMqBus(IRabbitMqBusFactoryConfigurator configurator)
 {
     configurator.UseDelayedExchangeMessageScheduler();
 }
        public void BuildWorkflow(IRabbitMqBusFactoryConfigurator busFactoryConfigurator, IRabbitMqHost host,
                                  IComponentRegistry componentRegistry)
        {
            _activityConfigurator
            .ConfigureActivity <IRemoveUserRolesActivity, IRemoveUserRolesArguments, IRemoveUserRolesLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator
            .ConfigureActivity <IDeletePartnerPlatformUserActivity, IDeletePartnerPlatformUserArguments,
                                IDeletePartnerPlatformUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <ISoftDeleteDatabaseUserActivity, ISoftDeleteDatabaseUserArguments,
                                ISoftDeleteDatabaseUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IRestorePartnerPlatformUserActivity, IRestorePartnerPlatformUserArguments,
                                IRestorePartnerPlatformUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IActivateSoftDeletedDatabaseUserActivity, IActivateSoftDeletedDatabaseUserArguments,
                                IActivateSoftDeletedDatabaseUserLog>(busFactoryConfigurator, host,
                                                                     new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <ICreatePartnerPlatformCustomerActivity, ICreatePartnerPlatformCustomerArguments,
                                ICreatePartnerPlatformCustomerLog>(busFactoryConfigurator, host,
                                                                   new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <ICreateDatabaseCustomerActivity, ICreateDatabaseCustomerArguments,
                                ICreateDatabaseCustomerLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IAddCustomerDomainPartnerPortalActivity, IAddCustomerDomainPartnerPortalArguments,
                                IAddCustomerDomainPartnerPortalLog>(busFactoryConfigurator, host,
                                                                    new LifetimeScope(componentRegistry),
                                                                    executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator
            .ConfigureActivity <IPartnerPlatformCustomerSubscriptionActivity,
                                IPartnerPlatformCustomerSubscriptionArguments, IPartnerPlatformCustomerSubscriptionLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IDecreasePartnerPlatformCustomerSubscriptionActivity,
                                IDecreasePartnerPlatformCustomerSubscriptionArguments,
                                IDecreasePartnerPlatformCustomerSubscriptionLog>(busFactoryConfigurator, host,
                                                                                 new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IDatabaseCustomerSubscriptionActivity, IDatabaseCustomerSubscriptionArguments,
                                IDatabaseCustomerSubscriptionLog>(busFactoryConfigurator, host,
                                                                  new LifetimeScope(componentRegistry),
                                                                  executeConfigurator =>
            {
                executeConfigurator.UseRetry(r => { r.Interval(30, TimeSpan.FromSeconds(10)); });
            });
            _activityConfigurator
            .ConfigureActivity <IDecreaseDatabaseCustomerSubscriptionActivity,
                                IDecreaseDatabaseCustomerSubscriptionArguments, IDecreaseDatabaseCustomerSubscriptionLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <ICreatePartnerPlatformUserActivity, ICreatePartnerPlatformUserArguments,
                                ICreatePartnerPlatformUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                                                               executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator
            .ConfigureActivity <ICreateDatabaseUserActivity, ICreateDatabaseUserArguments, ICreateDatabaseUserLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IRemoveLicensePartnerPortalUserActivity, IRemoveLicensePartnerPortalUserArguments,
                                IRemoveLicensePartnerPortalUserLog>(busFactoryConfigurator, host,
                                                                    new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IRemoveLicenseDatabaseUserActivity, IRemoveLicenseDatabaseUserArguments,
                                IRemoveLicenseDatabaseUserLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IMultiPartnerPlatformCustomerSubscriptionActivity,
                                IMultiPartnerPlatformCustomerSubscriptionArguments, IMultiPartnerPlatformCustomerSubscriptionLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IMultiDatabaseCustomerSubscriptionActivity,
                                IMultiDatabaseCustomerSubscriptionArguments, IMultiDatabaseCustomerSubscriptionLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IAddMultiDomainToDatabaseActivity, IAddMultiDomainToDatabaseArguments,
                                IAddMultiDomainToDatabaseLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <ICreateDatabaseSubscriptionActivity, ICreateDatabaseSubscriptionArguments,
                                ICreateDatabaseSubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator.ConfigureActivity <ICreateOrderActivity, ICreateOrderArguments, ICreateOrderLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IUpdateDatabaseSubscriptionActivity, IUpdateDatabaseSubscriptionArguments,
                                IUpdateDatabaseSubscriptionLog>(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IUpdateDatabaseSubscriptionQuantityActivity,
                                IUpdateDatabaseSubscriptionQuantityArguments, IUpdateDatabaseSubscriptionQuantityLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IUpdatePartnerPlatformSubscriptionQuantityActivity,
                                IUpdatePartnerPlatformSubscriptionQuantityArguments, IUpdatePartnerPlatformSubscriptionQuantityLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <ISuspendDatabasesubscriptionActivity, ISuspendDatabasesubscriptionArguments,
                                ISuspendDatabasesubscriptionLog>(busFactoryConfigurator, host,
                                                                 new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <ISuspendPartnerPlatformSubscriptionActivity,
                                ISuspendPartnerPlatformSubscriptionArguments, ISuspendPartnerPlatformSubscriptionLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IActivateSuspendedDatabaseSubscriptionActivity,
                                IActivateSuspendedDatabaseSubscriptionArguments, IActivateSuspendedDatabaseSubscriptionLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IActivateSuspendedPartnerPlatformSubscriptionAcivity,
                                IActivateSuspendedPartnerPlatformSubscriptionArguments,
                                IActivateSuspendedPartnerPlatformSubscriptionLog>(busFactoryConfigurator, host,
                                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureActivity <IDatabaseProvisionedStatusProvisionedActivity,
                                IDatabaseProvisionedStatusProvisionedArguments, IDatabaseProvisionedStatusProvisionedLog>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IUpdateDatabaseSubscriptionStateActivity,
                                       IUpdateDatabaseSubscriptionStateArguments>(busFactoryConfigurator, host,
                                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator.ConfigureExecuteActivity <IGetUserRolesActivity, IGetUserRolesArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator.ConfigureExecuteActivity <IAssignUserRolesActivity, IAssignUserRolesArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator
            .ConfigureExecuteActivity <IFederateCustomerDomainActivity, IFederateCustomerDomainArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator
            .ConfigureExecuteActivity <IFederateCustomerDomainDatabaseStatusActivity,
                                       IFederateCustomerDomainDatabaseStatusArguments>(busFactoryConfigurator, host,
                                                                                       new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IHardDeletePartnerPlatformUserActivity,
                                       IHardDeletePartnerPlatformUserArguments>(busFactoryConfigurator, host,
                                                                                new LifetimeScope(componentRegistry),
                                                                                executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator.ConfigureExecuteActivity <IDeleteDatabaseUserActivity, IDeleteDatabaseUserArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateTempPartnerPlatformAdminUserActivity,
                                       ICreateTempPartnerPlatformAdminUserArguments>(busFactoryConfigurator, host,
                                                                                     new LifetimeScope(componentRegistry),
                                                                                     executeConfigurator =>
            {
                executeConfigurator.UseConcurrencyLimit(1);
            });

            _activityConfigurator
            .ConfigureExecuteActivity <IVerifyCustomerDomainActivity, IVerifyCustomerDomainArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                executeConfigurator =>
            {
                executeConfigurator.UseConcurrencyLimit(1);
            });

            _activityConfigurator.ConfigureExecuteActivity <ISetImmutableIdActivity, SetImmutableIdArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                executeConfigurator =>
            {
                executeConfigurator.UseConcurrencyLimit(1);
            });

            _activityConfigurator
            .ConfigureExecuteActivity <IVerifyCustomerDomainDatabaseStatusActivity,
                                       IVerifyCustomerDomainDatabaseStatusArguments>(busFactoryConfigurator, host,
                                                                                     new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IAddCustomerDomainToDatabaseActivity, IAddCustomerDomainToDatabaseArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IGetCustomerDomainTxtRecordsActivity, IGetCustomerDomainTxtRecordsArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry),
                executeConfigurator => { executeConfigurator.UseConcurrencyLimit(1); });
            _activityConfigurator
            .ConfigureExecuteActivity <ISendCustomerDomainTxtRecordsActivity, ISendCustomerDomainTxtRecordsArguments
                                       >(busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IUpdateDatabaseCustomerSubscriptionActivity,
                                       IUpdateDatabaseCustomerSubscriptionArguments>(busFactoryConfigurator, host,
                                                                                     new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IAssignLicenseToPartnerPlatformUserActivity,
                                       IAssignLicenseToPartnerPlatformUserArguments>(busFactoryConfigurator, host,
                                                                                     new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IAssignLicenseToDatabaseUserActivity, IAssignLicenseToDatabaseUserArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator.ConfigureExecuteActivity <ISendUserSetupEmailActivity, ISendUserSetupEmailArguments>(
                busFactoryConfigurator, host, new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveAllLicensesPartnerPortalUserActivity,
                                       IRemoveAllLicensesPartnerPortalUserArguments>(busFactoryConfigurator, host,
                                                                                     new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ITransitionDispatchCreatingUsersActivity,
                                       ITransitionDispatchCreatingUsersArguments>(busFactoryConfigurator, host,
                                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateOrderWithMultiItemsActivity,
                                       ICreateOrderWithMultiItemsArguments>(busFactoryConfigurator, host,
                                                                            new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IUpdateMultiDatabaseSubscriptionActivity,
                                       IUpdateMultiDatabaseSubscriptionArguments>(busFactoryConfigurator, host,
                                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IUpdateMultiDatabaseSubscriptionStateActivity,
                                       IUpdateMultiDatabaseSubscriptionStateArguments>(busFactoryConfigurator, host,
                                                                                       new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IActivateMultiSuspendedDatabaseSubscriptionActivity,
                                       IActivateMultiSuspendedDatabaseSubscriptionArguments>(busFactoryConfigurator, host,
                                                                                             new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IActivateMultiSuspendedPartnerPlatformSubscriptionActivity,
                                       IActivateMultiSuspendedPartnerPlatformSubscriptionArguments>(busFactoryConfigurator, host,
                                                                                                    new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IUpdateMultiDatabaseSubscriptionQuantityActivity,
                                       IUpdateMultiDatabaseSubscriptionQuantityArguments>(busFactoryConfigurator, host,
                                                                                          new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IUpdateMultiPartnerPlatformSubscriptionQuantityActivity,
                                       IUpdateMultiPartnerPlatformSubscriptionQuantityArguments>(busFactoryConfigurator, host,
                                                                                                 new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateSecurityGroupMemberActivity,
                                       ICreateSecurityGroupMemberArguments>(busFactoryConfigurator, host,
                                                                            new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDatabaseSecurityGroupMemberActivity,
                                       ICreateDatabaseSecurityGroupMemberArguments>(busFactoryConfigurator, host,
                                                                                    new LifetimeScope(componentRegistry));

            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDatabaseDistributionGroupActivity,
                                       ICreateDatabaseDistributionGroupArguments>(busFactoryConfigurator, host,
                                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDatabaseDistributionGroupMemberActivity,
                                       ICreateDatabaseDistributionGroupMemberArguments>(busFactoryConfigurator, host,
                                                                                        new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDatabaseO365GroupActivity,
                                       ICreateDatabaseO365GroupArguments>(busFactoryConfigurator, host,
                                                                          new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDatabaseO365GroupMemberActivity,
                                       ICreateDatabaseO365GroupMemberArguments>(busFactoryConfigurator, host,
                                                                                new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDatabaseSecurityGroupActivity,
                                       ICreateDatabaseSecurityGroupArguments>(busFactoryConfigurator, host,
                                                                              new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDistributionGroupActivity,
                                       ICreateDistributionGroupArguments>(busFactoryConfigurator, host,
                                                                          new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateDistributionGroupMemberActivity,
                                       ICreateDistributionGroupMemberArguments>(busFactoryConfigurator, host,
                                                                                new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateO365GroupActivity,
                                       ICreateO365GroupArguments>(busFactoryConfigurator, host,
                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateO365GroupMemberActivity,
                                       ICreateO365GroupMemberArguments>(busFactoryConfigurator, host,
                                                                        new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <ICreateSecurityGroupActivity,
                                       ICreateSecurityGroupArguments>(busFactoryConfigurator, host,
                                                                      new LifetimeScope(componentRegistry));

            _activityConfigurator
            .ConfigureExecuteActivity <RemoveDatabaseDistributionGroupActivity,
                                       IRemoveDatabaseDistributionGroupArguments>(busFactoryConfigurator, host,
                                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveDatabaseDistributionGroupMemberActivity,
                                       IRemoveDatabaseDistributionGroupMemberArguments>(busFactoryConfigurator, host,
                                                                                        new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveDatabaseO365GroupActivity,
                                       IRemoveDatabaseO365GroupArguments>(busFactoryConfigurator, host,
                                                                          new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveDatabaseO365GroupMemberActivity,
                                       IRemoveDatabaseO365GroupMemberArguments>(busFactoryConfigurator, host,
                                                                                new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveDatabaseSecurityGroupActivity,
                                       IRemoveDatabaseSecurityGroupArguments>(busFactoryConfigurator, host,
                                                                              new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveDistriputionGroupMemberActivity,
                                       IRemoveDistriputionGroupMemberArguments>(busFactoryConfigurator, host,
                                                                                new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveO365GroupActivity,
                                       IRemoveO365GroupArguments>(busFactoryConfigurator, host,
                                                                  new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveO365GroupMemberActivity,
                                       IRemoveO365GroupMemberArguments>(busFactoryConfigurator, host,
                                                                        new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveSecurityGroupActivity,
                                       IRemoveSecurityGroupArguments>(busFactoryConfigurator, host,
                                                                      new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveSecurityGroupMemberActivity,
                                       IRemoveSecurityGroupMemberArguments>(busFactoryConfigurator, host,
                                                                            new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveDatabaseSecurityGroupMemberActivity,
                                       IRemoveDatabaseSecurityGroupMemberArguments>(busFactoryConfigurator, host,
                                                                                    new LifetimeScope(componentRegistry));
            _activityConfigurator
            .ConfigureExecuteActivity <IRemoveDistriputionGroupActivity,
                                       IRemoveDistriputionGroupArguments>(busFactoryConfigurator, host,
                                                                          new LifetimeScope(componentRegistry));
        }
Exemplo n.º 20
0
        /// <summary>
        /// 添加consumer
        // 消费者停止消费消息后,将异常抛出,让消息回滚至原队列中
        // 等待下次处理
        /// </summary>
        /// <typeparam name="TEvent">consumer的接收事件参数</typeparam>
        /// <typeparam name="TConsumer">consumer类型</typeparam>
        /// <param name="cfg">配置对象</param>
        private void ConsumerTo <TEvent, TConsumer>(IRabbitMqReceiveEndpointConfigurator cfg, IRabbitMqBusFactoryConfigurator fcg, Type handlerType)
            where TConsumer : IEventConsumer <TEvent>
            where TEvent : Event, new()
        {
            SetPublishConfig <TEvent>(fcg);

            cfg.Handler <TEvent>(async evnt =>
            {
                try
                {
                    if (evnt.Message == null)
                    {
                        Log.Write(string.Format("消息{0}对象为null,不进入消费逻辑", evnt.MessageId), MessageType.Warn, this.GetType());
                        return;
                    }
                    using (var scope = _reg.BeginLifetimeScope())
                    {
                        try
                        {
                            var beforeConsumer = scope.Resolve <IBeforeConsumer>();
                            if (beforeConsumer != null)
                            {
                                beforeConsumer.Execute(evnt.Message);
                            }
                        }
                        catch
                        {
                        }
                        scope.Resolve <IEventConsumer <TEvent> >().Consume(evnt.Message);
                        try
                        {
                            var afterConsumer = scope.Resolve <IAfterConsumer>();


                            if (afterConsumer != null)
                            {
                                afterConsumer.Execute(evnt.Message);
                            }
                        }
                        catch
                        {
                        }
                    }
                }
                catch (StopedConsumeException)
                {
                    await evnt.Publish(evnt.Message);
                }
                catch (RequeueException ex)
                {
                    ++evnt.Message.RetryCount;
                    Log.Write(string.Format("执行{0}错误,RequeueException,messageId:{1}", typeof(TConsumer), evnt.Message.Id), MessageType.Error, this.GetType(), ex);
                    throw;
                }
                catch (Exception ex)
                {
                    Log.Write(string.Format("执行{0}错误,messageId:{1}", typeof(TConsumer), evnt.Message.Id), MessageType.Error, this.GetType(), ex);
                    if (evnt.Message.ExceptionRequeue)
                    {
                        ++evnt.Message.RetryCount;
                        throw new RequeueException();
                    }
                    throw;
                }
            });
        }
Exemplo n.º 21
0
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            base.ConfigureBusHost(configurator, host);

            _host = host;
        }
Exemplo n.º 22
0
 protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
 {
     _management = configurator.ManagementEndpoint(host);
 }
Exemplo n.º 23
0
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            base.ConfigureBusHost(configurator, host);

            configurator.UseDelayedExchangeMessageScheduler();
        }
Exemplo n.º 24
0
        protected virtual IRabbitMqHost ConfigureHost(IRabbitMqBusFactoryConfigurator x)
        {
            return x.Host(_hostAddress, h =>
            {
                h.Username("guest");
                h.Password("guest");

                if (!string.IsNullOrWhiteSpace(_nodeHostName))
                    h.UseCluster(c => c.Node(_nodeHostName));
            });
        }
Exemplo n.º 25
0
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            base.ConfigureBusHost(configurator, host);

            configurator.OverrideDefaultBusEndpointQueueName($"super-bus-{NewId.NextGuid().ToString("N")}");
        }
        protected override void ConfigureBusHost(IRabbitMqBusFactoryConfigurator configurator, IRabbitMqHost host)
        {
            base.ConfigureBusHost(configurator, host);

            _host = host;
        }
Exemplo n.º 27
0
        protected override void ConfigureBus(IRabbitMqBusFactoryConfigurator configurator)
        {
            base.ConfigureBus(configurator);

            _busFactoryConfigurator = configurator;
        }