1

I am developing an Api using spring boot. I need to call a dependent service asynchronously. I have an interceptor which uses RequestContextHolder from spring to get the httpservletrequest. But as the calls to dependent service is happening ashnchronously, a new thread is created for executing the dependent call and requestContextHolder.getAttributes returns null for the requests started in new thread. Any suggestions to overcome this?

Code :

CompletableFuture.supplyAsyn(()-> dependentService.getSomething());

Interceptor:

HttpServletRequest request = (ServletRequest) (RequestContextHolder.getAttributes()).getRequest();

Here RequestContextHolder.getAttributes() returns null for the requests happening in new threads.Anyway to hold the requestcontext ?

ging
  • 219
  • 7
  • 20

0 Answers0