Stubbing out / making progress on this.
Ok, whoops.
I'm not totally sold on logicalConnectionId at this point, but it might work.

The rest of the XAConnection / XAResource implementation should be shareable at this point (even if an XAResource -is- an XAConnection, there's no reason it shouldn't be able to operate on other physical connections so long as it's not a method like start() or end() where the logicalConnectionId (or Thread doing the work... hmmmm....) is in-play.

I believe that even with the XAResource doing it's thing as part of the XAConnection, we can still adhear to the sprit (even the requirements) of the spec regarding sharability.

This implementation should support interleaving, by dynamically redirected Connection method invoation to an appropriate physical backend maintained by the XADataSource, with a life-time pegged to that of the XAConnection object.