Мы используем многопоточность и нам нужен контекст вызывающего потока в каждом вложенном потоке.Мы используем Spring 4.3.
Например:
final Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
CompletableFuture.supplyAsync(() -> {
...
try {
// take the security context from the caller
SecurityContextHolder.getContext().setAuthentication(authentication);
doOperations()
Этот подход прекрасно работает в контексте безопасности.Он передается из потока вызывающей стороны (конечной точки покоя) и передает его каждому созданному завершаемому будущему.
В данном классе в цепочке вызовов я имею следующую конструкцию:
@Context
protected ProvisioningContext provisioningContext;
@Context
protected UriInfo uriInfo;
Какправильно передать все контексты во вновь созданном потоке?
Подходы типа ThreadContext.getContext()
не работают.