Before delving into JMS, consider AMQP as well – might be a new standard.
JMS providers I worked with (in varying degrees):
TIBCO EMS – very quick and robust, good API support, Java friendly, native C API exists. Best commercial choice I’ve used.
Websphere MQ (and its JMS implementation) – so, so. Pub/sub not exactly quick, many configurations options and choices are ‘strange’ and overly complex from the long history of that product. Just look at the amount of documentation…
Solace JMS – very high throughput (the JMS broker is built in hardware !), good choices of connecting protocols (MQTT, AMQP, XML over http as admin protocols)
Fiorano MQ – used to be agressive in marketing but lost a lot of market share, maturity concerns
Sonic MQ – solid product, also supports a C API
Active MQ – if you want to go with an open-source product (unexpensive support, great community, limited add-on products, limited enterprise features) this is probably your best choice. Works out of the box and is the backbone of several tools like Apache Camel, for example.