Инъекция, вызывающая не полностью построенный объект - PullRequest
0 голосов
/ 29 апреля 2020

У меня настроен следующий супербаз c bean:

@Bean
@JobScope
public JobState jobState() {
  return new JobState();
}

public static class JobState {
  public final Map<String, PathData> paths = new HashMap<>();
}

public static class PathData {
  public final Path path;
  public final boolean downloaded;

  public PathData(final Path path, final boolean downloaded) {
    this.path = path;
    this.downloaded = downloaded;
  }
}

Затем, где-то еще в моем коде, у меня есть фабрика тасклетов, например:

@Bean
public Function<DownloadConfig, Tasklet> downloadTaskletFactory(final JobState jobState) {
  return config ->
      (contribution, chunkContext) -> {
        // [...]
        jobState.paths.put(...);
      };
}

Однако, когда это выполняется, в то время как jobState не является null, jobState.paths является. Я не уверен, как именно это было бы возможно, если Spring полностью не заменит мой JobState класс на макет или что-то в этом роде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...