Skip to content
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

Make all "to endpoint" arguments require a domain object, not string #76

Open
stolsvik opened this issue Nov 11, 2022 · 0 comments
Open
Labels
thoughts Issues describing some thoughts around a subject

Comments

@stolsvik
Copy link
Contributor

stolsvik commented Nov 11, 2022

You would have to provide an instance of ToEndpointId to any initiation and flow which requires endpointId, not String.
These ToEndpointId instances would (optionally) only be possible to get hold of during the initialization phase of MatsFactory.

This would give the following massive benefit: One could partially construct the full call graph through the entire MatsFabric up front, not having to rely on logging or other "after the fact" methods. ("Partially" because, depending on implementation, you would not have information about which initiatorId, or stage, actually used the ToEndpointId instance. So you would only know that this service uses said Endpoint, not which initiation or endpoint-stage uses it. One could make it possible to specifically request a ToEndpointId in the context of a stage, and even an initiation-point. The latter could possibly both contain the to endpointId and the initiatorId)

This solution would immediately make it possible to answer "is this endpoint still in use"? You'd query all the MatsFactories, and find which service(s) registers that endpointId as a "ToEndpointId".

(This solution came up in a "what endpoints are in use" discussion with Kristian Hiim)

@stolsvik stolsvik added the thoughts Issues describing some thoughts around a subject label Nov 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
thoughts Issues describing some thoughts around a subject
Projects
None yet
Development

No branches or pull requests

1 participant