-1

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.

adfFun
  • 1
  • 4
  • You cannot. As the request is over as soon as the async method runs. You will need to pass the needed data to the async method. – M. Deinum Aug 02 '18 at 13:50
  • Post some code. Can't tell what you did from this error message. – duffymo Aug 02 '18 at 13:50
  • Are you expecting/waiting for a response? Can the async method in the request scope bean be non-async and delegate the call to an async singleton bean? Please post code. – alltej Aug 02 '18 at 14:24

1 Answers1

0

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.

adfFun
  • 1
  • 4