Spring: как bean-объект области действия ведет себя внутри вызова асинхронного метода - PullRequest
0 голосов
/ 29 апреля 2020

Я работаю с Spring Boot 2.2.4.

У меня есть следующий класс, где Client - это bean-объект в области запроса:

@AllArgsConstructor
@Component
public class CacheLoader {

  private Client client;

  @Async
  public void load() {
    //do something else
    client.execute();
  }
}

Метод загрузки вызывается в контроллере. Запрос завершается до запуска метода execute () в другом потоке, порожденном методом asyn c load ().

Тем не менее метод execute успешно завершает работу sh. Почему bean-объект Scoped остается доступным, даже если запрос был завершен раньше?

Также произойдет, если будут отправлены два запроса. Будет ли клиент, связанный со вторым запросом, заменять клиента из первого запроса, чтобы асинхронный метод, инициированный первым запросом, выполнял вызов с клиентом из второго запроса?

...