I know in case of P2P communication in JMS each queue
can have only one consumer, But can a queue have
Yes and no.
1. A queue can have multiple subscribers. Unfortunately it's a first come first served kind of thing so whoever grabs the message first consumes it so none of the others will even know it existed.
2. A topic can have multiple subscribers, and each will receive every message that is posted to the topic.
The exact details depend a great deal on what jms provider you're using. For example if you're using BEA Weblogic with Oracle Advanced Queueing, things can get very complicated though Weblogic 9 improves things immensely over version 8.
There is a wealth of information available for easy searching though making sense out of it and making it work for your implementation may be more of a problem.