JMS is as light or heavy as you configure it. We use for example HornetQ in one project with an in memory queue. It is easy to setup, doesn't need any JNDI based configuration and is really easy to use.
I believe that JMS as an API for Message Pub/Sub is as easy as it gets. (And not easier ;)