Spring создает уникальный @Component для каждого запроса POST - PullRequest
1 голос
/ 15 марта 2019

Скажем, у меня есть валидатор Spring, помеченный @Component.Этот валидатор запускается каждый раз, когда поступает POST-запрос. Он @Autowired в контроллере.

Проблема здесь в том, что валидатор является одноэлементным по умолчанию.Он также содержит список, в котором хранятся все ошибки.Каждый раз, когда вызывается этот валидатор, список очищается.

Меня беспокоит то, что если одновременно поступит несколько запросов, этот валидатор прервется.

Есть ли еще способ использовать энергию?Spring Boot, но убедитесь, что каждый раз, когда вызывается @PostMapping, экземпляр получает новый свежий валидатор только для себя?

1 Ответ

4 голосов
/ 15 марта 2019

Использование

@Component
@Scope(WebApplicationContext.SCOPE_REQUEST)

для обеспечения того, чтобы для каждого Запроса создавался собственный компонент.

или

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