throw new IllegalArgumentException("Pool is null");
if (tm == null)
throw new IllegalArgumentException("TransactionManager is null");
TxConnectionManagerImpl cm = null;
switch (tsl)
{
case NoTransaction:
throw new IllegalArgumentException("Non transactional connection manager not supported");
case LocalTransaction:
cm = new TxConnectionManagerImpl(tm, true);
break;
case XATransaction:
cm = new TxConnectionManagerImpl(tm, false);
break;
default:
throw new IllegalArgumentException("Unknown transaction support level " + tsl);
}
cm.setSubjectFactory(subjectFactory);
setProperties(cm, pool, allocationRetry, allocationRetryWaitMillis, tm);
setTxProperties(cm, interleaving, xaResourceTimeout, isSameRMOverride, wrapXAResource, padXid);
handleTxIntegration(tm);