JBossMQ hangs talking to the database or it reports a deadlock
First the hanging issue.
This is a really problem for your DB administrator and/or your database vendor.
You'll find the JCA FAQ more pertinent.
Now the deadlock issue
Which can also be a hang on databases that don't support deadlock detection.
There is no reason for this. JBossMQ already does all the necessary isolation to avoid any two threads trying to update the same rows. The problem is usually the database not doing row locking, usually because the queries or constraints aren't supported by indexes.
Sharing the tables
The JBossMQ persistence tables are a transaction log. They are not designed to be shared by two active JBossMQ instances. If you did do this, you are guaranteed to get random behaviour.
NOTE: This does not apply to HAJMS where you have multiple instances but only one is active for JBossMQ.
such that you can change the config to use tables: