void expireGTX() {
    if (timedOut) {
      return; // this method is only called by a single thread so this is safe
    }
    timedOut = true;
    LogWriter writer = TransactionUtils.getLogWriter();
    try {
      if (writer.infoEnabled()) {
        writer.info(String.format("Transaction %s has timed out.", this));
      }
      TransactionManagerImpl.getTransactionManager()
          .removeTranxnMappingsAndRollbackExpiredTransaction(transactions);
      setStatus(Status.STATUS_NO_TRANSACTION);
    } catch (Exception e) {
      if (writer.severeEnabled()) {
        writer.severe(
            String.format(
                "GlobaTransaction::expireGTX:Error occurred while removing transactional mappings %s",
                e),
            e);
      }
    }
  }
A timer task cleaup method. This is called when Transaction timeout occurs. On timeout the
transaction is rolled back and the thread removed from thread-Transaction Map.
geode-core/src/main/java/org/apache/geode/internal/jta/GlobalTransaction.java