Skip to content

Extensible invocation of TcpClient in ReactorNettyTcpClient #25889

@rupebac

Description

@rupebac

We would like to achieve something as basic as sending all Stomp sessions from a specific user to one Stomp relay, while other users may go to other Stomp relays. This should minimize I believe the traffic inside the Artemis cluster.

I know I can use TcpClient#remoteAddress(Supplier...) but this is not enough for what we try to achieve. We need to know the context of the incoming connection to know to which remoteAddr send that to. I mean, we need to gather the session id / user principals of the incoming session, to decide to which relay it should send that Connect request to.

I know I could extend ReactorNettyTcpClient and Override connect(TcpConnectionHandler) but then I need to reimplement myself the whole ReactorNettyHandler (as this one is private).

Ideally ReactorNettyTcpClient should internally allow some sort of tcpClient resolver, or at least it should, I think, use a getter for the TcpClient (so that I can override the getter myself).

Is this possible at all with the current code base? What would be then the correct way to achieve this?

Metadata

Metadata

Assignees

Labels

in: messagingIssues in messaging modules (jms, messaging)type: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions