@Override
  public Object getNewPoolConnection() throws PoolException {
    if (m_xads != null) {
      PooledConnection poolConn = null;
      try {
        poolConn = m_xads.getXAConnection(configProps.getUser(), configProps.getPassword());
      } catch (SQLException sqx) {
        throw new PoolException(
            "TranxPoolCacheImpl::getNewConnection: Exception in creating new transaction PooledConnection",
            sqx);
      }
      poolConn.addConnectionEventListener((javax.sql.ConnectionEventListener) connEventListner);
      return poolConn;
    } else {
      if (logger.isDebugEnabled()) {
        logger.debug(
            "TranxPoolCacheImpl::getNewConnection: ConnectionPoolCache not intialized with XADatasource");
      }
      throw new PoolException(
          "TranxPoolCacheImpl::getNewConnection: ConnectionPoolCache not intialized with XADatasource");
    }
  }
Creates a new connection for the pool. This connection can participate in the transactions.

@return the connection from the database as PooledConnection object.
geode-core/src/main/java/org/apache/geode/internal/datasource/TranxPoolCacheImpl.java