I have discovered that a MDB won't listen anymore if you change a config file on the fly, for example changing the password in oracle-ds.xml. Here are the following steps you can do to test for yourself.
1. start your server and mdb.
2. send a message via a jms client.
3. watch mdb pick it up.
4. Change something in the config file. I changed password in oracle-ds.xml.
5. Jboss will unbound and bound the datasource, queue, topic, etc.
6. Now send a message via a jms client.
7. It will be sent successfully, but MDB won't pick it up.
8. now, restart your server and mdb.
9. mdb now picks them up on startup.
I have tested this in 4.0.3, and 4.0.5. To me, the mdb should still pick up messages without a restart. but maybe it is working as design... :)
If you restart your .ear file (like "touch" it) it should start processing MDB messages.
The MDBs are not designed for handling this case gracefully. I don't know if this will be fixed. JBoss Messaging might address this.