I think with that version of the jdbc persistence manager you have to use a datasource whose connections have autocommit on. As I recall in 2.4 you do that with a JDBCDataSourceLoader rather than an XADataSourceLoader.
I think 3.0 has an alternate implementation that can use a normal datasource. However, I'm pretty sure there have been enough changes to make backporting difficult.
I made the configuration changes you suggested. The messages are now stored in the Oracle DB. However, if I restart the JBoss server, we get the following error:
Could not rebuild the queue from the queue's transaction log. Is the transaction log the jms_transactions table? IF so, I noticed the jms_transactions table is never populated.
Upon further online reading, use of the JDBCDataLoader is not recommended, it is obsolete. Can we somehow use the XADataSourceLoader?
Both JDBCDataSourceLoader and XADataSourceLoader have been removed from 3.0. I really think in 2.4 you need to use the JDBCDataSourceLoader. I think the "obsolete" comments were from when I removed JDBCDataSourceLoader from 3.0.
In my jaundiced opinion it is very possible that there are large bugs in the jdbc persistence manager. You might want to look at the code and see if it appears to be using a tx log in a plausible way. I don't remember if it stores the tx info in the message table or a different table.