code: @Override
      public void rollback(final Xid _xid)
          throws XAException
      {
          ConnectionResource.LOG.trace("rollback (xid = {})", _xid);
          try  {
              if (this.connection != null && !this.connection.isClosed())  {
                  this.connection.rollback();
              }
          } catch (final SQLException e)  {
              final XAException xa = new XAException(XAException.XA_RBCOMMFAIL);
              xa.initCause(e);
              throw xa;
          } finally  {
              try {
                  if (this.connection != null && !this.connection.isClosed())  {
                      this.connection.close();
                  }
                  this.connection = null;
                  setOpened(false);
              } catch (final SQLException e) {
                  ConnectionResource.LOG.error("SQLException", e);
              }
          }
      }
docs: Informs the resource manager to roll back work done on behalf of a
  transaction branch.
  @param _xid Xid
  @throws XAException on error