As far as I know the only (by the spec) guaranteed way of doing this is by making your MDB a durable topic subscriber (covered in the manual).
Depending on the (undocumented) retention policy for destinations in JBossMQ a queue may also make the jobb for you, but as said, without garantees - remember to set the time to live to a long enough period.
But how does making the bean a durable subscriber help if I want to send messages to the queue BEFORE I deploy the bean?
What I am looking for is a way to declare a queue/topic in a way that a message will be held until someone picks it up.
What I see in Jboss logs is a message saying that there are no listeners, so I assume that it's dropping the message on the floor.
Isn't this the concept of durable/persistant queues? Or, is the idea that the message persists if the container holding the subscriber crashes?
I would recomend you to ask on the old JBossMQ list, since thats where the JBossMQ guys still hangs out.