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
SecurityContext and provides a single getter/setter for Authentication
. There is
thus no need to work with SecureContext
or Context
anymore. ContextHolder
,
SecureContext
and Context
to directly call SecurityContext
.
You will also note that the HttpSessionContextIntegrationFilter
no longer provides
a context
property, so remove it from your application context XML. For the relatively
small number of users who had customised their context, you will need to write your own
ThreadLocal
to provide functionality for your specific use case.Context
implementations, your applications no longer need to perform checking of null
and
unexpected Context
implementation types, and the new SecurityContext
is an InheritableThreadLocal
- which should make life easier in rich client
environments.