Разработчики системы Axelix, предназначенной для отладки и мониторинга Spring Boot приложений, внедрили ScopedValue для передачи контекста безопасности. Архитектура Axelix включает Master-сервер с поддержкой MCP и Spring Boot стартеры, устанавливаемые в целевые приложения.

Для передачи авторизационных токенов из HTTP-фильтров в транспортный слой команда отказалась от использования ThreadLocal в пользу ScopedValue. В отличие от ThreadLocal, который допускает изменение состояния и требует ручного вызова remove, ScopedValue автоматически очищает привязку после завершения операции.

Отсутствие метода set в API ScopedValue исключает возможность подмены контекста безопасности ниже по стеку вызовов. Это предотвращает утечки данных между запросами, которые могли бы возникнуть при повторном использовании потоков, если бы разработчик забыл очистить ThreadLocal.

Среди ограничений ScopedValue отмечается отсутствие автоматической передачи в CompletableFuture и пулы потоков, а также возможность изменения полей объектов, хранящихся внутри привязки. Авторы подчеркивают, что явная передача параметров в методах остается предпочтительной для прозрачности API.