// Get specific managed connection pool key
Object key = getKey(subject, cri, separateNoTx);
// Get managed connection pool
ManagedConnectionPool mcp = getManagedConnectionPool(key, subject, cri);
// Are we doing track by transaction ?
TransactionSynchronizationRegistry tsr = getTransactionSynchronizationRegistry();
Object transactionKey = tsr != null ? tsr.getTransactionKey() : null;