The maximum depth of queues and individual topic
can be configured. See the following example:
The max depth can still be exeeded in a number of
e.g. when a message is knacked back into the queue.
Also transactions perform read committed processing,
they look at the current size of queue, ignoring any
that may be added as a result of the current transaction or
This is because we don't want the transaction to fail
the commit phase when the message is physically added
to the queue.