I have struggled with the same problem for a few days.
An article describing the solution can be found on http://www.odi.ch/weblog/posting.php?posting=210
I have verified that it work to send a JMS message and update a database in the same transaction (using database persistent JMS messages).
Basically you will have to look up a JTA enabled JMS connection factory using the JNDI name java:/JmsXA instead of ConnectionFactory.
I don't use an XA enabled datasource (only local-tx-datasource) and it works fine for me.