I came across the following recently

"Due to the resource overhead associated with authenticating users and setting up communications, most applications establish a single connection for all messaging. In the WebLogic Server, JMS traffic is multiplexed with other WebLogic services on the client connection to the server. No additional TCP/IP connections are created for JMS. Servlets and other server-side objects may also obtain JMS Connections..."

Does this mean that I can build a framework that acquires a single connection from the connection factory and make do with it for n number of requests spanning over multiple clients withoutout closing the connection ever for the life-cycle of my application server ?

Concurrency is achieved by leveraging the session pool from this single connection I guess...

Then the question is, is there ever a need to have a pool of connections ala database connection pool or even multiple connections ?

What happens if this single connection gets corrupted at some point of time ? Do the Messaging products have mechanisms, built in, to detect such bad connections and rectifying it when needed ?