You'll have to use JTA if you need transactional access to more than one JMS session. In that case, you wouldn't be using JmsTransactionManager at all, you would use a JtaTransactionManager and enlist all those connections in a distributed transaction. This assumes that all of your JMS connections are XA-compatible (often times the connection factory is different, e.g. ActiveMQXAConnectionFactory vs. ActiveMQConnectionFactory).
If you are not using an application server (glassfish, weblogic, jboss AS, etc.), you can deploy a standalone JTA implementation (atomikos or jboss TS). The configuration of each of them differ quite a bit but Spring does support most of them.