コード例 #1
0
  @Override
  public void doAfterStart() {
    // default value is declared in CorePlugin
    String taskKey =
        StringUtils.defaultIfEmpty(
            taskProperties.get(CoreProperties.TASK), CoreProperties.SCAN_TASK);

    TaskDefinition def = getComponentByType(Tasks.class).definition(taskKey);
    if (def == null) {
      throw MessageException.of("Task " + taskKey + " does not exist");
    }
    Task task = getComponentByType(def.taskClass());
    if (task != null) {
      task.execute();
    } else {
      throw new IllegalStateException("Task " + taskKey + " is badly defined");
    }
  }