Пример #1
0
  @Override
  public void start(StartContext context) throws StartException {
    ROOT_LOGGER.debugf("Starting JCA WorkManager: ", value.getName());

    BlockingExecutor longRunning = (BlockingExecutor) executorLong.getOptionalValue();
    if (longRunning != null) {
      this.value.setLongRunningThreadPool(longRunning);
      this.value.setShortRunningThreadPool((BlockingExecutor) executorShort.getValue());
    } else {
      this.value.setLongRunningThreadPool((BlockingExecutor) executorShort.getValue());
      this.value.setShortRunningThreadPool((BlockingExecutor) executorShort.getValue());
    }

    this.value.setXATerminator(new XATerminatorImpl(xaTerminator.getValue()));

    if (value.getName().equals(DEFAULT_NAME)) {
      WorkManagerCoordinator.getInstance().setDefaultWorkManager(value);
    } else {
      WorkManagerCoordinator.getInstance().registerWorkManager(value);
    }

    // this is a value.restart() equivalent
    if (value.isShutdown()) value.cancelShutdown();

    ROOT_LOGGER.debugf("Started JCA WorkManager: ", value.getName());
  }
Пример #2
0
  @Override
  public void stop(StopContext context) {
    ROOT_LOGGER.debugf("Stopping JCA WorkManager: ", value.getName());

    // shutting down immediately (synchronous method) the workmanager and release all works
    value.shutdown();

    if (value.getName().equals(DEFAULT_NAME)) {
      WorkManagerCoordinator.getInstance().setDefaultWorkManager(null);
    } else {
      WorkManagerCoordinator.getInstance().unregisterWorkManager(value);
    }

    ROOT_LOGGER.debugf("Stopped JCA WorkManager: ", value.getName());
  }