Prev Next

Integration / ActiveMQ Interview Questions Intermediate

What is the difference between Queue and Topic in ActiveMQ?

Queues and Topics implement JMS's two messaging models and behave very differently once more than one consumer is involved.

QueueTopic
Point-to-point deliveryPublish-subscribe delivery
Exactly one consumer gets each messageEvery active subscriber gets each message
Message stays until a consumer takes and acks itNon-durable: message is lost if no subscriber is connected
Good for distributing work across a worker poolGood for broadcasting events or notifications

Both destination types are created and used through the same JMS Session API; only the destination object and its delivery semantics differ.

This distinction also shapes how you reason about scaling: adding more consumers to a Queue increases throughput by splitting the same work among more workers, while adding more subscribers to a Topic increases total delivery volume, since each subscriber gets a full copy rather than a share. Choosing wrong is a common interview trap - using a Topic for a work queue means every worker processes every message instead of splitting the load, and using a Queue for a broadcast means only one interested service ever gets notified.

In which destination can multiple consumers all receive the same message?
Which destination guarantees only one consumer processes a given message?

More Related questions...

Show more question and Answers...


Comments & Discussions