Skip to content

Multiple consumers on same channel; message consumption order? #732

Answered by michaelklishin
adrhc asked this question in Q&A
Discussion options

You must be logged in to vote

This belongs to the Java client repository then.

You should not depend on any particular dispatch order of consumers, on a single channel or across multiple ones. It's like depending on a specific thread interleaving order.

All inbound protocol threads are read off the socket using the general socket API or NIO. Each carries a channel ID (number),
so connections know what channel to dispatch to.

Channels dispatch all inbound protocol methods to a JDK execution service (you can provide your own) in a way that guarantees that they are dispatched in the same order as received. Obviously actual processing of different frames can take a different amount of time and resources, so we cannot assu…

Replies: 2 comments 12 replies

Comment options

You must be logged in to vote
12 replies
@adrhc
Comment options

@michaelklishin
Comment options

@acogoluegnes
Comment options

@adrhc
Comment options

@michaelklishin
Comment options

Answer selected by michaelklishin
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants