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

Reactive infrastructure for annotated method invocation in spring-messaging [SPR-17455] #21987

Closed
spring-issuemaster opened this issue Nov 1, 2018 · 0 comments
Assignees
Milestone

Comments

@spring-issuemaster
Copy link
Collaborator

@spring-issuemaster spring-issuemaster commented Nov 1, 2018

Rossen Stoyanchev opened SPR-17455 and commented

Non-blocking, reactive contract equivalents for:

  • InvocableHandlerMethod and related contracts for resolving method parameters and handling return values.
  • AbstractMethodMessageHandler and sub-classes for message handling through the invocation of annotated handler methods.
  • Implementations of argument resolvers and return value handlers, including use of codecs for payload encoding and decoding.

Affects: 5.1.2

This issue is a sub-task of #21292

@spring-issuemaster spring-issuemaster added this to the 5.2 RC1 milestone Jan 11, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 18, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
Before this change if a controller method returned a Publisher whose
first signal was an error, the error signal would not be delegated to
a @MessageExceptionHandler method as expected.

To make this work for now we use a package private local copy of the
ChannelSendOperator from spring-web.

See spring-projectsgh-21987
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 21, 2019
Delegate the invocation of a HandlerMethod into a separate, delegate,
package private helper class.

See spring-projectsgh-21987
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 22, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 22, 2019
Before this change if a controller method returned a Publisher whose
first signal was an error, the error signal would not be delegated to
a @MessageExceptionHandler method as expected.

To make this work for now we use a package private local copy of the
ChannelSendOperator from spring-web.

See spring-projectsgh-21987
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 22, 2019
Delegate the invocation of a HandlerMethod into a separate, delegate,
package private helper class.

See spring-projectsgh-21987
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
Before this change if a controller method returned a Publisher whose
first signal was an error, the error signal would not be delegated to
a @MessageExceptionHandler method as expected.

To make this work for now we use a package private local copy of the
ChannelSendOperator from spring-web.

See spring-projectsgh-21987
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
Split out the mechanics of invoking a HandlerMethod and handling the
result into a separate helper class.

See spring-projectsgh-21987
rstoyanchev added a commit to rstoyanchev/spring-framework that referenced this issue Feb 27, 2019
Simplify handling by eliminating the use of a message channel. Instead
MessageHandlerAcceptor now extends from RSocketMessageHandler and
delegates directly to it.

See spring-projectsgh-21987
rstoyanchev added a commit that referenced this issue Mar 5, 2019
rstoyanchev added a commit that referenced this issue Mar 5, 2019
rstoyanchev added a commit that referenced this issue Mar 5, 2019
rstoyanchev added a commit that referenced this issue Mar 5, 2019
Before this change if a controller method returned a Publisher whose
first signal was an error, the error signal would not be delegated to
a @MessageExceptionHandler method as expected.

To make this work for now we use a package private local copy of the
ChannelSendOperator from spring-web.

See gh-21987
rstoyanchev added a commit that referenced this issue Mar 5, 2019
Split out the mechanics of invoking a HandlerMethod and handling the
result into a separate helper class.

See gh-21987
rstoyanchev added a commit that referenced this issue Mar 5, 2019
Simplify handling by eliminating the use of a message channel. Instead
MessageHandlerAcceptor now extends from RSocketMessageHandler and
delegates directly to it.

See gh-21987
rstoyanchev added a commit that referenced this issue Mar 5, 2019
Do give HandlerMethodReturnValueHandler's a chance to handle return
values so the RSocket reply header is always set.

See gh-21987
rstoyanchev added a commit that referenced this issue Mar 5, 2019
- Integration tests run with zero copy configuration.
- RSocketBufferLeakTests has been added.
- Updates in MessagingRSocket to ensure proper release

See gh-21987
@rstoyanchev rstoyanchev closed this Mar 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.