Difference between JMS Topic and Queue

Topic

A JMS topic implements a publisher/subscriber(s) model. When you publish a message on a topic, all the subscribers who have an active subscription will receive the message ( Zero or more ) .

Queue

A JMS Queue implements a one-to-one or load balancer model. When you send a message to the queue, one and only one consumer will receive that message.

If there are no consumers at the time the message is sent, it will be kept on the queue until a consumer can process the message.

If a consumer did not aknowledge when he receives the message, then it will be redelivered to another consumer.