code: public TransactionOptions timeout(long timeout, TimeUnit timeoutUnit) {
          if (timeout == -1) {
              this.timeout = timeout;
              return this;
          }
          this.timeout = timeoutUnit.toMillis(timeout);
          return this;
      }
docs: If transaction hasn't been committed within <code>timeout</code> it will rollback automatically.
  Set <code>-1</code> to disable.
  <p>
  Default is <code>5000 milliseconds</code>
  
  @param timeout in milliseconds
  @param timeoutUnit timeout time unit
  @return self instance