BasicManagedDataSource currently allows to set the classname of an XADatasource to create XA-enabled connections.
If done so the datasource is created using the Reflection-API.
I think in most cases this is not enough, since DataSources usually need some kind of configuration. In my case this would be the connection-url to the database (I use MysqlXADatasource which wants its setUrl(url) method called).
For this reason i think it would be useful to let the client set the XADataSource instance instead of its classname (optional). The same is done now with the TransactionManager-Implementation.
For this reason i'd suggest a getter and setter as well as a new member xaDataSourceInstance as an alternative option to the classname.