Beispiel #1
0
 /**
  * Submit a task
  *
  * @param taskRunner
  */
 public void submitTaskRunner(DbTaskRunner taskRunner) {
   if (isRunning || !Configuration.configuration.isShutdown()) {
     if (threadPoolExecutor.getActiveCount() > Configuration.configuration.getRUNNER_THREAD()) {
       // too many current active threads
       taskRunner.changeUpdatedInfo(UpdatedInfo.TOSUBMIT);
       taskRunner.forceSaveStatus();
       return;
     }
     logger.debug("Will run {}", taskRunner);
     ClientRunner runner = new ClientRunner(networkTransaction, taskRunner, null);
     if (taskRunner.isSendThrough()
         && (taskRunner.isRescheduledTransfer() || taskRunner.isPreTaskStarting())) {
       runner.setSendThroughMode();
       taskRunner.checkThroughMode();
     }
     runner.setDaemon(true);
     // create the client, connect and run
     threadPoolExecutor.execute(runner);
     runner = null;
   }
 }