code: @Override
      public TransactionManagerAdapter getTransactionManager(StepContext stepContext) throws TransactionManagementException {
          logger.entering(CLASSNAME, "getTransactionManager", stepContext);
  
          TransactionManagerAdapter transactionManager = null;
  
          // get the JTA tran manager if we are in Java EE
          if (! this.batchConfig.isJ2seMode()) {
              // use the container JNDI java:comp/UserTransaction
              logger.fine("getting transaction object from JNDI java:comp/UserTransaction");
              transactionManager = new JTAUserTransactionAdapter("java:comp/UserTransaction");
          } 
          else if (this.batchConfig.isJ2seMode()) { 
          // If we are in J2SE mode use the non-transactional manager
          
              // java environment is Java SE
              // NoOp transaction manager
              logger.fine("J2SE mode non-transactional manager");
              transactionManager = new DefaultNonTransactionalManager();
          }
  
          logger.exiting(CLASSNAME, "getTransactionManager", transactionManager);
          return transactionManager;
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.jbatch.container.services.ITransactionManagementService#
  getTransactionManager(javax.batch.runtime.context.StepContext)