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.
| Queue | Topic |
| Point-to-point delivery | Publish-subscribe delivery |
| Exactly one consumer gets each message | Every active subscriber gets each message |
| Message stays until a consumer takes and acks it | Non-durable: message is lost if no subscriber is connected |
| Good for distributing work across a worker pool | Good 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.
More Related questions...