-
Couldn't load subscription status.
- Fork 12
Handle error acks #1270
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
Merged
Merged
Handle error acks #1270
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
... to avoid excessive generic params in recursive definition.
…r-acks # Conflicts: # license-report.md # pom.xml # version.gradle
Codecov Report
@@ Coverage Diff @@
## master #1270 +/- ##
=========================================
Coverage 91.12% 91.12%
Complexity 4698 4698
=========================================
Files 605 605
Lines 14921 14921
Branches 852 852
=========================================
Hits 13597 13597
Misses 1058 1058
Partials 266 266 |
We always pass non-null for conversion, but we still has a warning, and `checkNotNull()` is the easiest way to avoid id.
dmdashenkov
reviewed
May 13, 2020
armiol
reviewed
May 14, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alexander-yevsyukov LGTM in general. Please see my comments.
client/src/main/java/io/spine/client/DeliveringMultiEventObserver.java
Outdated
Show resolved
Hide resolved
armiol
approved these changes
May 14, 2020
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This extends the client API with an ability to handle an error returned when posting a command or another message for asynchronous processing:
ServerErrorHandlerinterface was introduced. It acceptsio.spine.base.Errorobtained from the server-side in anAck.Clientgot methods for customising error handlersonStreamingError()— for handing errors obtained from gRPC.onServerError()— for handlingErrorobtained as a part of anAck.These handlers will be passed as default values for
ClientRequests produced by the client.ClientRequestclass also gotonStreamingError()andonServerError()methods for fine tuning of handlers that may be necessary for a specific request.Other changes
LoggingHandlerinterface is now more general and does not contain an association with a type.LoggingHandlerWithTypeis introduced for handlers that do need such an association.Signalinterface got thetype()method which obtains the type of the enclosed message.WithTimeinterface for encapsulating obtainingTimestamp,Instantand time range checking.WithActorinterface for encapsulating obtainingActorContextand its properties.ContextWithActorinterface which is common base forCommandContextandEventContext.CommandContextgot a mix-in so that it's easier to obtain a user or a tenant of a command.Responsegot a mix-in for easier checking of its type.MessageRejectionwas renamed toMessageErrorto avoid confusion with real rejections. It was also moved under theserverpackage.MessageInvalidinterface was moved to theserverpackage.Deprecations
@ByFieldwas deprecated because@Subscribe.filter()which uses it was deprecated earlier.Command.time()was deprecated in favour ofWithTime.timestamp().