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

Correct encoding and decoding of "message/x.rsocket.routing.v0" #23137

Closed
rstoyanchev opened this issue Jun 13, 2019 · 3 comments
Closed

Correct encoding and decoding of "message/x.rsocket.routing.v0" #23137

rstoyanchev opened this issue Jun 13, 2019 · 3 comments
Assignees
Labels
in: messaging Issues in messaging modules (jms, messaging) type: enhancement A general enhancement
Milestone

Comments

@rstoyanchev
Copy link
Contributor

Composite metadata is now supported as of M3 (see #22798) with the String route added as a "message/x.rsocket.routing.v0" entry in the composite metadata, plus the option to add more metadata entries. The route is still encoded as a simple String. That needs to be changed when rsocket-core provides an API for that.

@linux-china
Copy link

RoutingMetadata implemented on https://github.com/rsocket/rsocket-java/tree/develop/rsocket-core/src/main/java/io/rsocket/metadata
it's tagging, should some reserved tags be introduced for routing?

@rstoyanchev
Copy link
Contributor Author

rstoyanchev commented Sep 2, 2019

@linux-china, currently we simply take the first tag value. Is this too simplistic perhaps, and is there a more idiomatic way, e.g. one tag with the some name (e.g. "route" or "mapping") + 2nd tag with the actual route value?

@linux-china
Copy link

Now I think the first tag is ok, and developers can put URI string as tag value, and still flexible.

artembilan added a commit to spring-projects/spring-integration that referenced this issue Sep 3, 2019
Related to spring-projects/spring-framework#23137

The metadata in Spring Messaging for RSockets now supports any
arbitrary objects for setup payload, including composition.

* Switch the `ClientRSocketConnector` to fully delegate to the
`RSocketRequester.Builder` inheriting possible metadata encoding/decoding
in the target `RSocketRequester` implementation
* Turn off a default `dataMimeType` from the `MimeTypeUtils.TEXT_PLAIN`
to the `null` by default relying on the encoder/decoder logic in the
target RSocket wrappers
* Expose more delegating options in the `ClientRSocketConnector`, like
`setupRouteVars`,  `setupMetadata`
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: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

2 participants