I've been informed that the workaround I described doesn't actually work in Glassfish 3.0 due to a bug. It has been fixed in 3.1.
One alternative is to use a "local" broker, though I think the workaround you have already found (to have a dummy application to trigger startup) is a better one.
Nigel
[Message sent by forum member 'nigeldeakin']
http://forums.java.net/jive/thread.jspa?messageID=477789