Yes, that was what we agreed.
Also, getting the XAResource during recover won't go through the connection manager.
DataSource/ConnectionFactory -> ConnectionManager -> Pool -> MCF -> ManagedConnecton -> XAResource
However during recovery it doesn't use the pool/connection manager:
TM -> Recoverable/MCF -> ManagedConnection -> XAResource
I think you meant creating an XAResource wrapper rather than creating a proxy? :-)
Make sure to delegate toString() so we don't loose the ability to see the
real implementation in the logs.
Having a getUnderlyingXAResource() may also be useful??
Also, I think a getRecoverable() may be useful in the future as well if one XAResource fails in commit we can retry it
Also, I think a getRecoverable() may be useful in the future as well if one XAResource fails in commit we can reconnect through the Recoverable and retry.