I think I understand the first and second... The first provides a way to view generic JDBC connections as XA connections, while the second is used for actual XAConnection objects. Is this correct? What is the ConnectionFactoryLoader used for? Are there pooling or transaction issues with any of these?