Skip to content

Users expect transport and errors settings to be configured while these are being ignored #210

@ramonsmits

Description

@ramonsmits

Some users try do to things like:

.UseNServiceBus(configuration =>
{
    var endpointConfiguration = configuration.AdvancedConfiguration;
    endpointConfiguration.License(NServiceBusLicense);
    endpointConfiguration.EnableInstallers();
    endpointConfiguration.SendFailedMessagesTo(errorQueueName);

    var transport = endpointConfiguration.UseTransport<AzureServiceBusTransport>();
    transport.ConnectionString(serviceBusNameSpaceFQDN);
    transport.CustomTokenCredential(new DefaultAzureCredential());

    var recoverability = endpointConfiguration.Recoverability();
    recoverability.Immediate(customizations: immediate => { mmediate.NumberOfRetries(3); });
    recoverability.Delayed(customizations: delayed => { delayed.NumberOfRetries(5).TimeIncrease(TimeSpan.FromSeconds(30)); });

    endpointConfiguration.LimitMessageProcessingConcurrencyTo(numberOfConsumers);

    // Disable the error queue to let NserviceBus native dead-lettering handle repeated failures:

    configuration.DoNotSendMessagesToErrorQueue();

    //@TODO: Add throttling behavior

})

The transport and concurrency limit settings are ignored but users are unaware of this. Same with DoNotSendMessagesToErrorQueue which overrides SendFailedMessagesTo. These conflicting settings should result in an endpoint not being able to start or even better. Such APIs should not even be available when using Azure Functions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions