Czy właściwość ThreadLocal jest lepsza niż HttpServletRequest.setAttribute („klucz”, „wartość”)?

Specyfikacja serwletu (zobacz moje poprzednie pytanie) gwarantuje, że ten sam wątek wykona wszystkie filtry i powiązany serwlet. Biorąc to pod uwagę, nie widzę żadnego zastosowania do przekazywania danych za pomocąHttpServletRequest.setAttribute jeśli istnieje możliwość użycia aThreadLocal (zakładając, że czyścisz prawidłowo). Czuję, że korzystanie z niego jest dwieThreadLocal: bezpieczeństwo typu i lepsza wydajność, ponieważ nie są używane żadne klucze łańcuchowe ani mapy (z wyjątkiem prawdopodobnie do kolekcji wątków według (nie-łańcuchowego) identyfikatora wątku).

Czy ktoś może potwierdzić, czy mam rację, że mogę kontynuować porzucaniesetAttribute?

questionAnswers(4)

yourAnswerToTheQuestion