/// <summary> /// Configure a service instance, which supports one or more receive endpoints, all of which are managed by conductor. /// </summary> /// <param name="configurator"></param> /// <param name="options"></param> /// <param name="configure"></param> public static void ServiceInstance <TEndpointConfigurator>(this IReceiveConfigurator <TEndpointConfigurator> configurator, ServiceInstanceOptions options, Action <IServiceInstanceConfigurator <TEndpointConfigurator> > configure) where TEndpointConfigurator : IReceiveEndpointConfigurator { var transportConfigurator = Cached <TEndpointConfigurator> .Instance; var instance = new ServiceInstance(); if (options.InstanceEndpointEnabled) { var definition = new InstanceEndpointDefinition(instance); configurator.ReceiveEndpoint(definition, options.EndpointNameFormatter, instanceEndpointConfigurator => { var instanceConfigurator = new ServiceInstanceConfigurator <TEndpointConfigurator>(configurator, transportConfigurator, instance, options, instanceEndpointConfigurator); configure?.Invoke(instanceConfigurator); }); } else { var instanceConfigurator = new ServiceInstanceConfigurator <TEndpointConfigurator>(configurator, transportConfigurator, instance, options); configure?.Invoke(instanceConfigurator); } }
/// <summary> Registers list of consumer types to listen on mentioned queue. </summary> /// <remarks> This registration doesn't use scoped way of consumer generation, this may lead to unpleasant side effects, so best approach is to not use stateful consumers.</remarks> public static void AllServiceConsumersToEndpoint <TEndpointConfigurator>( this IReceiveConfigurator <TEndpointConfigurator> cfg, string queueName, IWindsorContainer container, Assembly consumerAssembly, ILogger logger = null ) where TEndpointConfigurator : IReceiveEndpointConfigurator { cfg.ReceiveEndpoint(queueName, endpoint => { var implementations = container.Kernel.GetAssignableHandlers(typeof(IConsumer)) .Select(x => x.ComponentModel.Implementation).Where(x => x.Assembly == consumerAssembly).ToArray(); if (null != logger) { var message = new StringBuilder(); message.Append("Starting to watch endpoint " + queueName + " using following consumers:"); foreach (var handler in implementations) { message.Append("\r\n * "); message.Append(handler.FullName); } logger.Info(message); } endpoint.Consumer(container, implementations); } ); }
/// <summary> /// Configure the endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="context">The container reference</param> /// <param name="endpointNameFormatter">Optional, the endpoint name formatter</param> /// <typeparam name="T">The bus factory type (depends upon the transport)</typeparam> public static void ConfigureEndpoints <T>(this IReceiveConfigurator <T> configurator, IServiceContext context, IEndpointNameFormatter endpointNameFormatter = null) where T : IReceiveEndpointConfigurator { var registration = context.GetInstance <IRegistration>(); registration.ConfigureEndpoints(configurator, endpointNameFormatter); }
/// <summary> /// Configure the endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="provider">The container reference</param> /// <param name="endpointNameFormatter">Optional, the endpoint name formatter</param> /// <typeparam name="T">The bus factory type (depends upon the transport)</typeparam> public static void ConfigureEndpoints <T>(this IReceiveConfigurator <T> configurator, IServiceProvider provider, IEndpointNameFormatter endpointNameFormatter = null) where T : IReceiveEndpointConfigurator { var registration = provider.GetRequiredService <IRegistration>(); registration.ConfigureEndpoints(configurator, endpointNameFormatter); }
/// <summary> /// Configure the endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="context">The container reference</param> /// <param name="endpointNameFormatter">Optional, the endpoint name formatter</param> /// <typeparam name="T">The bus factory type (depends upon the transport)</typeparam> public static void ConfigureEndpoints <T>(this IReceiveConfigurator <T> configurator, IComponentContext context, IEndpointNameFormatter endpointNameFormatter = null) where T : IReceiveEndpointConfigurator { var registration = context.Resolve <IRegistration>(); registration.ConfigureEndpoints(configurator, endpointNameFormatter); }
/// <summary> /// Configure the endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="container">The container reference</param> /// <param name="endpointNameFormatter">Optional, the endpoint name formatter</param> /// <typeparam name="T">The bus factory type (depends upon the transport)</typeparam> public static void ConfigureEndpoints <T>(this IReceiveConfigurator <T> configurator, IWindsorContainer container, IEndpointNameFormatter endpointNameFormatter = null) where T : IReceiveEndpointConfigurator { var registration = container.Resolve <IRegistration>(); registration.ConfigureEndpoints(configurator, endpointNameFormatter); container.Release(registration); }
public ServiceInstanceConfigurator(IReceiveConfigurator <TEndpointConfigurator> configurator, IServiceInstanceTransportConfigurator <TEndpointConfigurator> transportConfigurator, IServiceInstance instance, ServiceInstanceOptions options, TEndpointConfigurator instanceEndpointConfigurator = default) { _configurator = configurator; _transportConfigurator = transportConfigurator; _instance = instance; _options = options; _instanceEndpointConfigurator = instanceEndpointConfigurator; }
/// <summary> /// Configure service endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified, and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="registration">The container registration</param> /// <param name="options">The service instance options</param> /// <typeparam name="TEndpointConfigurator">The ReceiveEndpointConfigurator type for the transport</typeparam> public static void ConfigureServiceEndpoints <TEndpointConfigurator>(this IReceiveConfigurator <TEndpointConfigurator> configurator, IRegistrationContext <IComponentContext> registration, ServiceInstanceOptions options = null) where TEndpointConfigurator : IReceiveEndpointConfigurator { options ??= new ServiceInstanceOptions(); if (options.EndpointNameFormatter is DefaultEndpointNameFormatter && registration.Container.TryResolve <IEndpointNameFormatter>(out var formatter)) { options.SetEndpointNameFormatter(formatter); } configurator.ServiceInstance(options, instanceConfigurator => { registration.ConfigureEndpoints(instanceConfigurator, instanceConfigurator.EndpointNameFormatter); }); }
private static void AddReceiveEndpoints(this IReceiveConfigurator cfg, IRegistration registration, IEnumerable <ReceiveEndpointRegistration> receiveEndpoints) { foreach (var receiveEndpoint in receiveEndpoints) { cfg.ReceiveEndpoint(receiveEndpoint.QueueName, ec => ReceiveEndpoint(ec, registration, receiveEndpoint.Consumers, receiveEndpoint.FaultConsumers)); if (receiveEndpoint.CanUsePriority) { cfg.ReceiveEndpoint(receiveEndpoint.QueueName + QueueHelper.GetQueueNameSuffix(QueuePriority.Lowest), ec => ReceiveEndpoint(ec, registration, receiveEndpoint.Consumers)); cfg.ReceiveEndpoint(receiveEndpoint.QueueName + QueueHelper.GetQueueNameSuffix(QueuePriority.Highest), ec => ReceiveEndpoint(ec, registration, receiveEndpoint.Consumers)); } } }
/// <summary> /// Configure service endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified, and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="container">The container reference</param> /// <param name="options">The service instance options</param> /// <typeparam name="TEndpointConfigurator">The ReceiveEndpointConfigurator type for the transport</typeparam> public static void ConfigureServiceEndpoints <TEndpointConfigurator>(this IReceiveConfigurator <TEndpointConfigurator> configurator, IWindsorContainer container, ServiceInstanceOptions options = null) where TEndpointConfigurator : IReceiveEndpointConfigurator { var registration = container.Resolve <IRegistration>(); options ??= new ServiceInstanceOptions(); if (options.EndpointNameFormatter is DefaultEndpointNameFormatter && container.Kernel.HasComponent(typeof(IEndpointNameFormatter))) { options.SetEndpointNameFormatter(container.Kernel.Resolve <IEndpointNameFormatter>()); } configurator.ServiceInstance(options, instanceConfigurator => { registration.ConfigureEndpoints(instanceConfigurator, instanceConfigurator.EndpointNameFormatter); }); }
/// <summary> /// Configure service endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified, and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="registration">The container registration</param> /// <param name="options">The service instance options</param> /// <typeparam name="TEndpointConfigurator">The ReceiveEndpointConfigurator type for the transport</typeparam> public static void ConfigureServiceEndpoints <TEndpointConfigurator>(this IReceiveConfigurator <TEndpointConfigurator> configurator, IRegistrationContext <IServiceProvider> registration, ServiceInstanceOptions options = null) where TEndpointConfigurator : IReceiveEndpointConfigurator { options ??= new ServiceInstanceOptions(); if (options.EndpointNameFormatter is DefaultEndpointNameFormatter) { var formatter = registration.Container.GetService <IEndpointNameFormatter>(); if (formatter != null) { options.SetEndpointNameFormatter(formatter); } } configurator.ServiceInstance(options, instanceConfigurator => { registration.ConfigureEndpoints(instanceConfigurator, instanceConfigurator.EndpointNameFormatter); }); }
/// <summary> /// Configure service endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified, and an <see cref="IEndpointNameFormatter"/> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter"/> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator"/> for the bus being configured</param> /// <param name="context">The container reference</param> /// <param name="options">The service instance options</param> /// <typeparam name="TEndpointConfigurator">The ReceiveEndpointConfigurator type for the transport</typeparam> public static void ConfigureServiceEndpoints <TEndpointConfigurator>(this IReceiveConfigurator <TEndpointConfigurator> configurator, IContext context, ServiceInstanceOptions options = null) where TEndpointConfigurator : IReceiveEndpointConfigurator { var registration = context.GetInstance <IRegistration>(); options ??= new ServiceInstanceOptions(); if (options.EndpointNameFormatter is DefaultEndpointNameFormatter) { var formatter = context.TryGetInstance <IEndpointNameFormatter>(); if (formatter != null) { options.SetEndpointNameFormatter(formatter); } } configurator.ServiceInstance(options, instanceConfigurator => { registration.ConfigureEndpoints(instanceConfigurator, instanceConfigurator.EndpointNameFormatter); }); }
public void ConfigureEndpoints <T>(IReceiveConfigurator <T> configurator, IEndpointNameFormatter endpointNameFormatter) where T : IReceiveEndpointConfigurator { if (configurator == null) { throw new ArgumentNullException(nameof(configurator)); } if (endpointNameFormatter == null) { endpointNameFormatter = _configurationServiceProvider.GetService <IEndpointNameFormatter>() ?? DefaultEndpointNameFormatter.Instance; } var consumersByEndpoint = _consumers.Values .Select(x => x.GetDefinition(_configurationServiceProvider)) .GroupBy(x => x.GetEndpointName(endpointNameFormatter)); var sagasByEndpoint = _sagas.Values .Select(x => x.GetDefinition(_configurationServiceProvider)) .GroupBy(x => x.GetEndpointName(endpointNameFormatter)); var activities = _activities.Values .Select(x => x.GetDefinition(_configurationServiceProvider)) .ToArray(); var activitiesByExecuteEndpoint = activities .GroupBy(x => x.GetExecuteEndpointName(endpointNameFormatter)); var activitiesByCompensateEndpoint = activities .GroupBy(x => x.GetCompensateEndpointName(endpointNameFormatter)); var executeActivitiesByEndpoint = _executeActivities.Values .Select(x => x.GetDefinition(_configurationServiceProvider)) .GroupBy(x => x.GetExecuteEndpointName(endpointNameFormatter)); var endpointsWithName = _endpoints.Values .Select(x => x.GetDefinition(_configurationServiceProvider)) .Select(x => new { Definition = x, Name = x.GetEndpointName(endpointNameFormatter) }) .GroupBy(x => x.Name, (name, values) => new { Name = name, Definition = values.Select(x => x.Definition).Combine() }); var endpointNames = consumersByEndpoint.Select(x => x.Key) .Union(sagasByEndpoint.Select(x => x.Key)) .Union(activitiesByExecuteEndpoint.Select(x => x.Key)) .Union(executeActivitiesByEndpoint.Select(x => x.Key)) .Union(endpointsWithName.Select(x => x.Name)) .Except(activitiesByCompensateEndpoint.Select(x => x.Key)); var endpoints = from e in endpointNames join c in consumersByEndpoint on e equals c.Key into cs from c in cs.DefaultIfEmpty() join s in sagasByEndpoint on e equals s.Key into ss from s in ss.DefaultIfEmpty() join a in activitiesByExecuteEndpoint on e equals a.Key into aes from a in aes.DefaultIfEmpty() join ea in executeActivitiesByEndpoint on e equals ea.Key into eas from ea in eas.DefaultIfEmpty() join ep in endpointsWithName on e equals ep.Name into eps from ep in eps.Select(x => x.Definition) .DefaultIfEmpty(c?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x)).Combine() ?? s?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x)).Combine() ?? a?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x)).Combine() ?? ea?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x)).Combine() ?? new NamedEndpointDefinition(e)) select new { Name = e, Definition = ep, Consumers = c, Sagas = s, Activities = a, ExecuteActivities = ea }; foreach (var endpoint in endpoints) { configurator.ReceiveEndpoint(endpoint.Definition, endpointNameFormatter, cfg => { if (endpoint.Consumers != null) { foreach (var consumer in endpoint.Consumers) { ConfigureConsumer(consumer.ConsumerType, cfg); } } if (endpoint.Sagas != null) { foreach (var saga in endpoint.Sagas) { ConfigureSaga(saga.SagaType, cfg); } } if (endpoint.Activities != null) { foreach (var activity in endpoint.Activities) { var compensateEndpointName = activity.GetCompensateEndpointName(endpointNameFormatter); var compensateDefinition = endpointsWithName.SingleOrDefault(x => x.Name == compensateEndpointName)?.Definition; if (compensateDefinition != null) { configurator.ReceiveEndpoint(compensateDefinition, endpointNameFormatter, compensateEndpointConfigurator => { ConfigureActivity(activity.ActivityType, cfg, compensateEndpointConfigurator); }); } else { configurator.ReceiveEndpoint(compensateEndpointName, compensateEndpointConfigurator => { ConfigureActivity(activity.ActivityType, cfg, compensateEndpointConfigurator); }); } } } if (endpoint.ExecuteActivities != null) { foreach (var activity in endpoint.ExecuteActivities) { ConfigureExecuteActivity(activity.ActivityType, cfg); } } }); } }
/// <summary> /// Configure the endpoints for all defined consumer, saga, and activity types using an optional /// endpoint name formatter. If no endpoint name formatter is specified and an <see cref="IEndpointNameFormatter" /> /// is registered in the container, it is resolved from the container. Otherwise, the <see cref="DefaultEndpointNameFormatter" /> /// is used. /// </summary> /// <param name="configurator">The <see cref="IBusFactoryConfigurator" /> for the bus being configured</param> /// <param name="registration">The registration for this bus instance</param> /// <param name="endpointNameFormatter">Optional, the endpoint name formatter</param> /// <typeparam name="T">The bus factory type (depends upon the transport)</typeparam> public static void ConfigureEndpoints <T>(this IReceiveConfigurator <T> configurator, IBusRegistrationContext registration, IEndpointNameFormatter endpointNameFormatter = null) where T : IReceiveEndpointConfigurator { registration.ConfigureEndpoints(configurator, endpointNameFormatter); }
public void ConfigureEndpoints <T>(IReceiveConfigurator <T> configurator, IEndpointNameFormatter endpointNameFormatter, Action <IRegistrationFilterConfigurator> configureFilter) where T : IReceiveEndpointConfigurator { endpointNameFormatter ??= GetService <IEndpointNameFormatter>() ?? DefaultEndpointNameFormatter.Instance; var builder = new RegistrationFilterConfigurator(); configureFilter?.Invoke(builder); var registrationFilter = builder.Filter; List <IGrouping <string, IConsumerDefinition> > consumersByEndpoint = Consumers.Values .Where(x => registrationFilter.Matches(x) && !WasConfigured(x.ConsumerType)) .Select(x => x.GetDefinition(this)) .GroupBy(x => x.GetEndpointName(endpointNameFormatter)) .ToList(); List <IGrouping <string, ISagaDefinition> > sagasByEndpoint = Sagas.Values .Where(x => registrationFilter.Matches(x) && !WasConfigured(x.SagaType)) .Select(x => x.GetDefinition(this)) .GroupBy(x => x.GetEndpointName(endpointNameFormatter)) .ToList(); List <IActivityDefinition> activities = Activities.Values .Where(x => registrationFilter.Matches(x) && !WasConfigured(x.ActivityType)) .Select(x => x.GetDefinition(this)) .ToList(); List <IGrouping <string, IActivityDefinition> > activitiesByExecuteEndpoint = activities .GroupBy(x => x.GetExecuteEndpointName(endpointNameFormatter)) .ToList(); List <IGrouping <string, IActivityDefinition> > activitiesByCompensateEndpoint = activities .GroupBy(x => x.GetCompensateEndpointName(endpointNameFormatter)) .ToList(); List <IGrouping <string, IExecuteActivityDefinition> > executeActivitiesByEndpoint = ExecuteActivities.Values .Where(x => registrationFilter.Matches(x) && !WasConfigured(x.ActivityType)) .Select(x => x.GetDefinition(this)) .GroupBy(x => x.GetExecuteEndpointName(endpointNameFormatter)) .ToList(); var endpointsWithName = _endpoints.Values .Select(x => x.GetDefinition(this)) .Select(x => new { Name = x.GetEndpointName(endpointNameFormatter), Definition = x }) .GroupBy(x => x.Name, (name, values) => new { Name = name, Definition = values.Select(x => x.Definition).Combine() }) .ToList(); IEnumerable <string> endpointNames = consumersByEndpoint.Select(x => x.Key) .Union(sagasByEndpoint.Select(x => x.Key)) .Union(activitiesByExecuteEndpoint.Select(x => x.Key)) .Union(executeActivitiesByEndpoint.Select(x => x.Key)) .Union(endpointsWithName.Select(x => x.Name)) .Except(activitiesByCompensateEndpoint.Select(x => x.Key)); var endpoints = from e in endpointNames join c in consumersByEndpoint on e equals c.Key into cs from c in cs.DefaultIfEmpty() join s in sagasByEndpoint on e equals s.Key into ss from s in ss.DefaultIfEmpty() join a in activitiesByExecuteEndpoint on e equals a.Key into aes from a in aes.DefaultIfEmpty() join ea in executeActivitiesByEndpoint on e equals ea.Key into eas from ea in eas.DefaultIfEmpty() join ep in endpointsWithName on e equals ep.Name into eps from ep in eps.Select(x => x.Definition) .DefaultIfEmpty(c?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x, x.EndpointDefinition)).Combine() ?? s?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x, x.EndpointDefinition)).Combine() ?? a?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x, x.ExecuteEndpointDefinition)).Combine() ?? ea?.Select(x => (IEndpointDefinition) new DelegateEndpointDefinition(e, x, x.ExecuteEndpointDefinition)).Combine() ?? new NamedEndpointDefinition(e)) select new { Name = e, Definition = ep, Consumers = c, Sagas = s, Activities = a, ExecuteActivities = ea }; foreach (var endpoint in endpoints) { configurator.ReceiveEndpoint(endpoint.Definition, endpointNameFormatter, cfg => { if (endpoint.Consumers != null) { foreach (var consumer in endpoint.Consumers) { ConfigureConsumer(consumer.ConsumerType, cfg); } } if (endpoint.Sagas != null) { foreach (var saga in endpoint.Sagas) { ConfigureSaga(saga.SagaType, cfg); } } if (endpoint.Activities != null) { foreach (var activity in endpoint.Activities) { var compensateEndpointName = activity.GetCompensateEndpointName(endpointNameFormatter); var compensateDefinition = activity.CompensateEndpointDefinition ?? endpointsWithName.SingleOrDefault(x => x.Name == compensateEndpointName)?.Definition; if (compensateDefinition != null) { configurator.ReceiveEndpoint(compensateDefinition, endpointNameFormatter, compensateEndpointConfigurator => { ConfigureActivity(activity.ActivityType, cfg, compensateEndpointConfigurator); }); } else { configurator.ReceiveEndpoint(compensateEndpointName, compensateEndpointConfigurator => { ConfigureActivity(activity.ActivityType, cfg, compensateEndpointConfigurator); }); } } } if (endpoint.ExecuteActivities != null) { foreach (var activity in endpoint.ExecuteActivities) { ConfigureExecuteActivity(activity.ActivityType, cfg); } } }); } }
public void ConfigureEndpoints <T>(IReceiveConfigurator <T> configurator, IEndpointNameFormatter endpointNameFormatter = null) where T : IReceiveEndpointConfigurator { ConfigureEndpoints(configurator, endpointNameFormatter, NoFilter); }
public InMemoryServiceInstanceConfigurator(IReceiveConfigurator <IInMemoryReceiveEndpointConfigurator> configurator, IServiceInstance instance) : base(configurator, instance) { }
/// <summary> /// Configure a service instance, which supports one or more receive endpoints, all of which are managed by conductor. /// </summary> /// <param name="configurator"></param> /// <param name="configure"></param> public static void ServiceInstance <TEndpointConfigurator>(this IReceiveConfigurator <TEndpointConfigurator> configurator, Action <IServiceInstanceConfigurator <TEndpointConfigurator> > configure) where TEndpointConfigurator : IReceiveEndpointConfigurator { ServiceInstance(configurator, new ServiceInstanceOptions(), configure); }
protected override void ConfigureServiceEndpoints(IReceiveConfigurator <IInMemoryReceiveEndpointConfigurator> configurator) { configurator.ConfigureServiceEndpoints(GetRegistrationContext(), Options); }
public void ConfigureEndpoints <T>(IReceiveConfigurator <T> configurator, IEndpointNameFormatter endpointNameFormatter = null) where T : IReceiveEndpointConfigurator { _registration.ConfigureEndpoints(configurator, endpointNameFormatter); }
public ServiceBusServiceInstanceConfigurator(IReceiveConfigurator <IServiceBusReceiveEndpointConfigurator> configurator, IServiceInstance instance) : base(configurator, instance) { }
protected override void ConfigureServiceEndpoints(IReceiveConfigurator <IInMemoryReceiveEndpointConfigurator> configurator) { configurator.ConfigureServiceEndpoints(_container, Options); }
public ActiveMqServiceInstanceConfigurator(IReceiveConfigurator <IActiveMqReceiveEndpointConfigurator> configurator, IServiceInstance instance) : base(configurator, instance) { }
public ServiceInstanceConfigurator(IReceiveConfigurator <TEndpointConfigurator> configurator, IServiceInstance instance) { _configurator = configurator; _instance = instance; }
protected abstract void ConfigureServiceEndpoints(IReceiveConfigurator <IInMemoryReceiveEndpointConfigurator> configurator);