Make MessagePump configuration more developer friendly
Closed this issue · 1 comments
This is somewhat related to #404.
When registering a MessagePump
, we have the option to configure some settings.
One of the things that we can specify, is the OperationName
(see related issue).
However, when a developer wants to configure the operation-name, the developer needs to know that he / she needs to cast the IAzureServiceBusTopicMessagePumpOptions
interface to the AzureServiceBusMessagePumpOptions
type before having access to the Telemetry
property where you can find the OperationName
setting.
That's a long way to travel before finding what you need when you scroll through the list of properties that is offered by Intellisense.
Moreover, the most important thing is that you need to cast to AzureServiceBusMessagePumpOptions
before we can event find / access that property
(See how this is done in the test: https://github.com/stijnmoreels/arcus.messaging/blob/66c91b3525880e9328bc054676638a3898d8d84e/src/Arcus.Messaging.Tests.Integration/MessagePump/ServiceBusMessagePumpTests.cs#L818C1-L818C107)
Isn't it possible to promote the Telemetry
property to the IAzureSErviceBusTopicMessagePumpOptions
interface ? That would be already one hurdle (the most important one imho) that is being tackled.
Or, isn't it possible to change the type of the configureMessagePump
argument in the AddServiceBusTopicMessagePumpxxx
methods to an Action<AzureServiceBusMessagePumpOptions>
instead of it now being an Action<IAzureServiceBusTopicMessagePumpOptions>
Yes, of course, but that was a breaking change in the past, that's why it wasn't promoted to the interface. I believe, if we have a list of all things needed, we can promote them in one go.