Previously SecurityContextCallableProcessingInterceptor used afterCompletion to clear the SecurityContextHolder. This does not work since afterCompletion is invoked on the Servlet Container thread. Now SecurityContextCallableProcessingInterceptor clears the SecurityContextHolder on postProcess which is invoked on the same thread that the Callable is processed on.