Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Previously, the
CommandBus
checked each command by attempting to route it with the default routing strategy — by the first field.If a client wants to send a command and it not aware of the receiver, this approach can go wrong. For example, if the first field of a command message happens to be a
repeated
, the validation fails.At the same time, command's target can override routing (e.g. a
Repository
) or not require one at all (e.g.AbstractCommandHandler
descendants). It is not possible, however, to pass this information to theCommandBus
level.In this PR we remove this validation step.
After this change, if a command routing fails, we will still get an error and a system event. However, not the users will have more flexibility when defining command messages.