/// <summary> /// Configure the Conductor service endpoints for all defined consumer, saga, and activity types. /// </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="options">Optional service instance options to start</param> /// <typeparam name="T">The bus factory type (depends upon the transport)</typeparam> public static void ConfigureServiceEndpoints <T>(this IBusFactoryConfigurator <T> configurator, IBusRegistrationContext registration, ServiceInstanceOptions options = null) where T : IReceiveEndpointConfigurator { options ??= new ServiceInstanceOptions(); if (options.EndpointNameFormatter is DefaultEndpointNameFormatter) { var formatter = registration.GetService <IEndpointNameFormatter>(); if (formatter != null) { options.SetEndpointNameFormatter(formatter); } } configurator.ServiceInstance(options, instanceConfigurator => { if (options.TryGetOptions(out JobServiceOptions jobServiceOptions)) { instanceConfigurator.ConfigureJobServiceEndpoints(jobServiceOptions); } registration.ConfigureEndpoints(instanceConfigurator, instanceConfigurator.EndpointNameFormatter); });