The following should help most casual users of the project update their applications:
ContextHolder
and all of its
related classes have been removed. This significant change was made for the sake of consistency
with the core Spring project's approach of a single ThreadLocal
per use case,
instead of a shared ThreadLocal
for multiple use cases as the previous
ContextHolder
allowed. This is an important change in 0.9.0. Many applications
will need to modify their code (and possibly web views) if they directly interact with the old
ContextHolder
. The replacement security ThreadLocal
is called
SecurityContextHolder and provides a single getter/setter for a
SecurityContext.
SecurityContextHolder
guarantees to never return a SecurityContext
.
SecurityContext
provides single getter/setter for Authentication
.ContextHolder
,
SecureContext
and Context
to directly call SecurityContextHolder
and work with the SecurityContext
(instead of the now removed Context
and SecureContext
interfaces).Context
implementations, your applications no longer need to perform checking of null
and
unexpected Context
implementation types, and the new SecurityContextHolder
is an InheritableThreadLocal
- which should make life easier in rich client
environments.