A
client queue contains the published documents to which a client subscribes. Each client has one queue, which is part of its client-state object. A document remains in the queue until the client retrieves it (and acknowledges that it has retrieved the document successfully) or until the document expires (as determined by the
Time to Live document type parameter). To reduce memory usage, volatile documents that have expired can be deleted at regular intervals, based on the size of the queue, from the client queues and forward queues before the client tries to retrieve them. For more information, see
Proactively Deleting Documents from
a Client Queue.
Each queue has a storage type that determines whether documents in the queue are saved in local memory (volatile storage) or are saved to disk (guaranteed storage). The storage type for a queue also dictates the lifecycle of the client. The lifecycle determines whether the Broker maintains state information for a client, including queue contents, after the client disconnects.
The client group to which a client belongs determines the queue storage type and consequently, the client lifecyle. For more information about setting queue storage type for client groups, see
Client Queue Storage Type.