Receiving Error Response (503) Max clients exceeded for queue


Definition of exclusive queues:

  • exclusive specifies that only one consumer can receive a message at any one time, while additional consumers may be connected as standby. That is, only one Flow can be active. Only the first consumer to bind can receive messages. If the first consumer disconnects, the second consumer receives data, and so on. An exclusive queue always delivers messages in the order they are received.

When I start the second instance of consumer, it will throw max clients exceeded error(as the bind count is 1). But It should connect and remain as stand by right! or should we not create another flow to this queue? How does it work?

Or how do I check whether the queue is already bound to another client, before I create a new flow?

Best Answer

  • Aaron
    Aaron Member, Administrator, Moderator, Employee Posts: 541 admin
    #2 Answer ✓

    Hi @Mallu Golageri … If the bind count is set to one, only one client can bind to the queue. Even standby consumers are bound to the queue even if they're not receiving any messages.

    There is no way for a client / messaging application to proactively check the current bind count on a queue before connecting. That would have to be done using a management app using our SEMP API.