public void precommit() throws CommitConflictException {
    checkClosed();

    final TXStateProxy tx = getTXState();
    if (tx == null) {
      throw new IllegalStateException(
          "Thread does not have an active transaction");
    }

    tx.checkJTA(
        "Can not commit this transaction because it is enlisted with a JTA transaction, use the JTA manager to perform the commit.");

    tx.precommit();
  }
Build a new {@link TXId}, use it as part of the transaction state and associate with the
current thread using a {@link ThreadLocal}. Flag the transaction to be enlisted with a JTA
Transaction. Should only be called in a context where we know there is no existing transaction.
geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java