Long allocationRetryWaitMillis = getLongIfSetOrGetDefault(context, operation, ALLOCATION_RETRY_WAIT_MILLIS, null);
Long blockingTimeoutMillis = getLongIfSetOrGetDefault(context, operation, BLOCKING_TIMEOUT_WAIT_MILLIS, null);
Long idleTimeoutMinutes = getLongIfSetOrGetDefault(context, operation, IDLETIMEOUTMINUTES, null);
Integer xaResourceTimeout = getIntIfSetOrGetDefault(context, operation, XA_RESOURCE_TIMEOUT, null);
CommonTimeOut timeOut = new CommonTimeOutImpl(blockingTimeoutMillis, idleTimeoutMinutes, allocationRetry,
allocationRetryWaitMillis, xaResourceTimeout);
CommonPool pool = null;
if (isXa) {
pool = new CommonXaPoolImpl(minPoolSize, maxPoolSize, prefill, useStrictMin, flushStrategy, isSameRM,interlivng, padXid, wrapXaResource, noTxSeparatePool);
} else {