Juergen Hoeller
ae3cfff380
fixed JodaTimeContextHolder to use a non-inheritable ThreadLocal and expose a reset method (SPR-7441); use of remove() even when being called with a null argument
15 years ago
Juergen Hoeller
722778c74a
SpEL MapAccessor consistently rejects "target.key" style access to Maps if no such key is found (SPR-7614)
15 years ago
Juergen Hoeller
d78eda8aeb
polishing
15 years ago
Juergen Hoeller
061063257a
optimized @Bean error messages (SPR-7628, SPR-7629)
15 years ago
Juergen Hoeller
b7b2a25953
fixed ApplicationContext event processing for repeated invocations to non-singleton listener beans (SPR-7563)
15 years ago
Juergen Hoeller
5f2d88f74a
polishing
16 years ago
Chris Beams
6f69b7b752
Allow class-relative resource loading in GenericXmlApplicationContext (SPR-7530)
...
Before:
- new GenericXmlApplicationContext("com/acme/path/to/resource.xml");
- GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
ctx.load("com/acme/path/to/resource.xml");
ctx.refresh();
After:
- The above remain supported, as well as new class-relative variants
- import com.acme.path.to.Foo;
new GenericXmlApplicationContext(Foo.class, "resource.xml");
- import com.acme.path.to.Foo;
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
ctx.load(Foo.class, "resource.xml");
ctx.refresh();
These changes are generally aligned with signatures long available in
ClassPathXmlApplicationContext. As GenericXmlApplicationContext is
intended to be a more flexible successor to CPXAC (and FSXAC), it's
important that all the same conveniences are available.
16 years ago
Juergen Hoeller
479b4c1b84
added bean type to post-processing log statement (SPR-7524)
16 years ago
Juergen Hoeller
05a3f3ad8d
avoid failures in case of manually registered null instance (SPR-7523)
16 years ago
Juergen Hoeller
3f68ccadd9
polishing
16 years ago
Juergen Hoeller
e56cfb8173
consistent use of JDK 1.5's ThreadLocal.remove() over ThreadLocal.set(null), preventing leaks (SPR-7441)
16 years ago
Chris Beams
b72cca5403
Fix memory leak in serializable bean factory management (SPR-7502)
...
GenericApplicationContext and AbstractRefreshableApplicationContext
implementations now call DefaultListableBeanFactory.setSerializationId()
only upon successful refresh() instead of on instantiation of the
context, as was previously the case with GAC.
DLBF.setSerializationId() adds the beanFactory to the *static*
DLBF.serializableFactories map, and while calling close() on the
application context removes entries from that map, it does so only if
the context is currently active (i.e. refresh() has been called).
Also, cancelRefresh() has been overridden in GAC just as it has been
in ARAC to accomodate the possibility of a BeansException being thrown.
In this case, the beanFactory serializationId will be nulled out and
the beanFactory removed from the serializableFactories map.
The SerializableBeanFactoryMemoryLeakTests test case provides full
coverage of these scenarios.
16 years ago
Juergen Hoeller
ee04046ed7
polishing
16 years ago
Juergen Hoeller
3cf22a0255
lazy creation of MessageFormats
16 years ago
David Syer
5109501d16
SPR-7463: switched to instance variable
16 years ago
Juergen Hoeller
8a23ce917a
Spring's constructor resolution consistently finds non-public multi-arg constructors (SPR-7453)
16 years ago
Juergen Hoeller
faad0f4bb1
AutodetectCapableMBeanInfoAssembler signature consistently refers to Class<?> (SPR-7405)
16 years ago
Juergen Hoeller
3e0003a1a0
TaskExecutorFactoryBean (as used by task:executor) exposes full ThreadPoolTaskExecutor type (SPR-7403)
16 years ago
Juergen Hoeller
f04febaf2d
fixed @PathVariable regression in combination with ConversionService usage on DataBinder
16 years ago
Juergen Hoeller
7304c09021
Spring field error arguments include actually declared annotation attributes in alphabetical order (SPR-6730)
16 years ago
Juergen Hoeller
11886f2149
polishing
16 years ago
Juergen Hoeller
1dce03af78
JSR-303 Pattern message resolvable through Spring MessageSource (despite special characters; SPR-7329)
16 years ago
David Syer
e26fc66523
SPR-7384: switch to using 1-12 for month numbers
16 years ago
Juergen Hoeller
66abad2540
BeanWrapper preserves annotation information for individual array/list/map elements (SPR-7348)
16 years ago
Juergen Hoeller
263fabb0fc
JSP EvalTag resolves "@myBeanName" references in expressions against the WebApplicationContext (SPR-7312); for consistency, expressions in an ApplicationContext support the same syntax against the local BeanFactory
16 years ago
Juergen Hoeller
3f31a1cf75
added "validationMessageSource" property to LocalValidatorFactoryBean, for Spring-based messages (SPR-7307)
16 years ago
Juergen Hoeller
41d6f8e9ed
turned formatter implementations non-final
16 years ago
Juergen Hoeller
07e9f1775b
added test for invalid binding to ClassLoader
16 years ago
Juergen Hoeller
0e59fc4a15
smarter guessing of the element type (SPR-7283)
16 years ago
Juergen Hoeller
2a140addfd
added EmbeddedValueResolver support to FormattingConversionServiceFactoryBean (SPR-7087)
16 years ago
Juergen Hoeller
65622bd546
revised DefaultLifecycleProcessor's handling of circular dependencies to avoid stack overflow (SPR-7266)
16 years ago
Juergen Hoeller
392accd910
introduced EmbeddedValueResolverAware callback interface for convenient placeholder resolution
16 years ago
Juergen Hoeller
8446fd1b26
added assertions for correct postProcess invocation order
16 years ago
Juergen Hoeller
5f9b2db90b
turn NotReadablePropertyException into JSR-303 oriented IllegalStateException
16 years ago
Juergen Hoeller
d684e49462
added "expose-proxy" attribute to aop namespace (enforcing AopContext proxy exposure with CGLIB; SPR-7261)
16 years ago
Juergen Hoeller
5b420e20c7
revised TaskScheduler javadoc (SPR-7253)
16 years ago
Chris Beams
0dc29cb2d3
Added a test to prove that @Qualifier works in conjunction with @Bean methods after some confusion by users that it may not.
16 years ago
Juergen Hoeller
dea5918d66
CronTrigger defensively protects itself against accidental re-fires if a task runs too early (SPR-7004)
16 years ago
David Syer
b4af04ba9d
SPR-7239: fix CronTrigger
16 years ago
Juergen Hoeller
1532119787
ConversionService is able to apply Converters to interface-based array elements (SPR-7150); a context ConversionService is able to override an ApplicationContext's resource editors (SPR-7079)
16 years ago
Juergen Hoeller
b90fa49ebc
polishing
16 years ago
Juergen Hoeller
bca067abb2
ScheduledTaskRegistrar (as used for @Scheduled processing) properly shuts down its default executor (SPR-6901)
16 years ago
Juergen Hoeller
6fe5871e91
check for "org.joda.time.LocalDate" in order to catch JodaTime 1.3 and higher only (SPR-7222)
16 years ago
Juergen Hoeller
469e30b507
refined LifecycleProcessor exception handling, properly wrapping a start exception from a bean (SPR-7106)
16 years ago
Juergen Hoeller
2c2df7f555
consistent postProcessBeanFactory treatment for BeanDefinitionRegistryPostProcessors (SPR-7167)
16 years ago
Juergen Hoeller
2ad2022058
revised BeanWrapper's exception wrapping to consistently handle ConversionExceptions (SPR-7177)
16 years ago
Chris Beams
57a503b274
BeanDefinitionRegistryPostProcessors' postProcessBeanDefinitionRegistry() method now gets called before postProcessBeanFactory() (SPR-7167)
16 years ago
Juergen Hoeller
738d84f75c
filter for duplicate listeners in "getApplicationListeners()" as well (SPR-7204)
16 years ago
Juergen Hoeller
68055ba4c9
AsyncAnnotationBeanPostProcessor consistently adds @Async processing as first Advisor in the chain (SPR-7147)
16 years ago
Juergen Hoeller
59d2d35f4a
polishing
16 years ago