Skip to content

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

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

Closed
spring-projects-issues opened this issue Nov 1, 2018 · 0 comments
Assignees
Labels
in: messaging Issues in messaging modules (jms, messaging) type: task A general task
Milestone

Comments

@spring-projects-issues
Copy link
Collaborator

spring-projects-issues 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-projects-issues spring-projects-issues added in: messaging Issues in messaging modules (jms, messaging) type: task A general task labels Jan 11, 2019
@spring-projects-issues spring-projects-issues added this to the 5.2 RC1 milestone Jan 11, 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 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: messaging Issues in messaging modules (jms, messaging) type: task A general task
Projects
None yet
Development

No branches or pull requests

2 participants