-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: extract message routing from the message pump #141
feat: extract message routing from the message pump #141
Conversation
Currently WIP, TODO list:
|
I've not updated the |
src/Arcus.Messaging.Pumps.ServiceBus/MessageHandling/IAzureServiceBusMessageRouter.cs
Outdated
Show resolved
Hide resolved
docs/preview/features/message-pumps/service-bus-azure-functions.md
Outdated
Show resolved
Hide resolved
docs/preview/features/message-pumps/service-bus-azure-functions.md
Outdated
Show resolved
Hide resolved
src/Arcus.Messaging.Pumps.Abstractions/MessageHandling/IMessageRouter.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Tom Kerkhove <kerkhove.tom@gmail.com>
OK, after reading all the remaining comments, there's only 2 that remains unsolved, and that's the mentioning of the And the question how this extraction should be called 'Router' or 'Processor' or ... (honestly, if it were 'Processor' it would be confusing in combination with the handlers. "Process" <> "Handle" message?) |
Let's stick with Router then.
What is this topic again? |
Described here: https://github.com/arcus-azure/arcus.messaging/pull/141/files#diff-a29b66ed26917dda14cce134994c1fd15605f0ecfbc72dd180eb355be4ee0b7cR71 |
Sure thing, but it's pending a reply from you, no? |
No, it's anwsered here: #141 (comment), but can be disussed offline. |
This was the latest awnsered question. But maybe you'll need to revisit the PR to know what's going on again 😄 . |
Super helpful, thanks! |
I see the PR closes the issue, did we add the handler for Functions as well? Think I saw it but want to be sure. |
We can include that in #154 I guess. But I'll change it bc it's technically indeed not completely done. |
Extracts the message routing that includes the selection of the correct registered message handler for the incoming message to be processed.
Because the
MessagePump
and by result theAzureServiceBusMessagePump
already contained methods likeProcessMessageAsync
which handles this message routing, we can only mark them as obsolete but can't change them in any way.This PR includes the introduction of the
IMessageRouter
andIAzureServiceBusMessageRouter
which is the exact functionality of this message routing. TheAzureServiceBusMessagePump
already uses this router so the existing tests will suffice to make sure that this routing is still valid. An extra interface for the Service Bus was required, because the message handling required specific Service Bus operations calls and the original Service Bus message upon fallback.Implementation of POC: https://github.com/stijnmoreels/arcus.messaging.azurefunctions
Relates to #127