springspring-bootspring-beanrequestscope

Spring Boot How can i easy Scope Request bean in Async method?


Spring boot How can i easy use bean with Request Scope in async method.

When i try execute got exception:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bean ! class': Scope 'request' is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it from a singleton; nested exception is java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.


Solution

  • I found a simple solution to this error.

    I've initialized the requestScope bean. which contains @Async method.

    Now every request(rest) call with controller receives a new instance of bean.