code: @Override
  	public void init(IBatchConfig batchConfig)
  			throws BatchContainerServiceException {
  		
  		String method = "init";
  		if(logger.isLoggable(Level.FINER)) { logger.entering(sourceClass, method);	}
  		
  		String maxThreadPoolSizeStr = batchConfig.getConfigProperties().
  				getProperty(BOUNDED_THREADPOOL_MAX_POOL_SIZE, defaultMaxThreadPoolSize); 
  		
  		int maxThreadPoolSize = Integer.parseInt(maxThreadPoolSizeStr);
  		
  		if(logger.isLoggable(Level.FINE)) { 
  			logger.fine("Glassfish thread pool settings: (" + minThreadPoolSize + "," +  maxThreadPoolSize + "," 
  		                 + idleThreadTimeout + "," + TimeUnit.SECONDS + "," + maxQueueSize + ")");  
  		}
  		
  		BlockingQueue<Runnable> queue = null;
  		if (maxQueueSize == -1) {
  			queue = new LinkedBlockingQueue<Runnable>();
  		} else {
  			queue = new LinkedBlockingQueue<Runnable>(maxQueueSize);
  		}
  		
  		executorService = new ThreadPoolExecutor(minThreadPoolSize, maxThreadPoolSize, idleThreadTimeout, TimeUnit.SECONDS, queue);  
  		
  		if(logger.isLoggable(Level.FINER)) { logger.exiting(sourceClass, method);	}
  	}
docs: threadPoolConfig.getMinThreadPoolSize();