code: public void begin() {
          if(logger.isInfoEnabled()){
              logger.info("Begin transaction.");
          }
          try {
              Connection conn = dataSource.getConnection();
              conn.setAutoCommit(false);
              provider.setConnection(conn);
          } catch (SQLException ex){
              throw new SessionException("Failed to begin transaction.", ex);
          }
      }
docs: {@inheritDoc}