...
After some discussion with James, it seems to make sense to treat the Session as the client. This way, a single connection may have multiple Sessions. I still need to work out the details of how measure the time for subscribers, since they will get notified of when new messages come in. For the first implementation, I'm going to by pass a connection factory. Once it the details of how subscribers will work, I'll move on to the connection factory.
For the connection factory, the plan right now is to make a real JMS connection pool. Most likely I'll borrow heavily from JDBC pool connection API and modify it to meet the needs of the JMS Sampler. This way, I can have it implement TestListener to setup and tear down the connection pool propertly. It would be bad to create a pool of connections to JMS at the start of a test, but not close those connections when the test ends.