Spring Boot Как я могу легко обработать бин Scope Request в методе Async?
Spring boot Как я могу легко использовать bean с Request Scope в асинхронном методе.
Когда я пытаюсь выполнить, получил исключение:
org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем 'bean! class': Scope 'request'не активен для текущего потока; рассмотрите возможность определения прокси-объекта с областью видимости для этого компонента, если вы намереваетесь ссылаться на него из синглтона; Вложенное исключение - java.lang.IllegalStateException: не найден привязанный к потоку запрос: Вы ссылаетесь на атрибуты запроса вне фактического веб-запроса или обрабатываете запрос вне первоначально получающего потока? Если вы на самом деле работаете с веб-запросом и по-прежнему получаете это сообщение, ваш код, вероятно, выполняется за пределами DispatcherServlet/DispatcherPortlet: в этом случае используйте RequestContextListener или RequestContextFilter для предоставления текущего запроса.
1 ответ
Я нашел простое решение этой ошибки.
Я инициализировал компонент requestScope. который содержит метод @Async.
Теперь каждый запрос (отдых) с контроллером получает новый экземпляр компонента.