Juergen Hoeller
bb1d1e916e
Polishing
2014-12-07 20:52:18 +01:00
Juergen Hoeller
03d4e1bc22
Consistent bridge method handling in annotation post-processors
...
Issue: SPR-12490
Issue: SPR-12495
2014-12-07 20:51:35 +01:00
Stephane Nicoll
c1f1cac359
Remove DisposableBeanMethodInterceptor
...
Previously, any @Configuration class was enhanced to namely implement
DisposableBean in order to remove static callbacks that were registered
for that class. This leads to problem if an ApplicationContext is created
and destroyed within the lifecycle on another ApplicationContext in the
same class loader.
It turns out that the destruction callback is no longer necessary as the
interceptors are now stateless: the VM is free to reclaim any of those if
necessary.
Issue: SPR-12445
2014-12-02 13:56:50 +01:00
Juergen Hoeller
c85686ac78
Polishing
2014-12-01 19:16:31 +01:00
Juergen Hoeller
fa0ef2d87e
BeanFactory accepts getBean arguments for non-prototype beans as well
...
Issue: SPR-12488
2014-12-01 19:05:26 +01:00
Juergen Hoeller
c5c5473d44
Common annotation processing for imported and nested classes within configuration classes
...
Issue: SPR-12486
2014-12-01 18:54:56 +01:00
Sebastien Deleuze
f39c505069
Remove a Groovy test already covered by testConfigFileParsingError()
...
The removed test testConfigFileParsingErrorWhenNamedBeans() could cause
a groovyc compilation error, for example when using latest IntelliJ IDEA.
Issue: SPR-12435
2014-11-25 12:03:28 +01:00
Juergen Hoeller
5e3edc667e
Support @Validated at method level for overriding validation groups
...
Issue: SPR-9174
2014-11-24 23:42:48 +01:00
Juergen Hoeller
afc77ff525
AnnotationBeanPostProcessors defensively catch and translate NoClassDefFoundErrors from class introspection
...
Issue: SPR-12461
2014-11-22 21:34:59 +01:00
Juergen Hoeller
b4167be52d
GroovyBeanDefinitionReader consistently throws BeanDefinitionParsingException for invalid files of any name
...
Issue: SPR-12435
2014-11-22 16:08:28 +01:00
Juergen Hoeller
4bd75e4146
BeanMethodInterceptor forwards user-provided arguments to getBean(name, args)
...
Issue: SPR-12443
2014-11-22 16:06:25 +01:00
Juergen Hoeller
6a96850aa7
Polishing
2014-11-06 14:29:43 +01:00
Juergen Hoeller
3c3e07e324
Defensive handling of manually registered singleton names (based on Spring Integration test failure)
...
Issue: SPR-12404
2014-11-01 23:03:02 +01:00
Juergen Hoeller
0e36402bd2
Revised retrieval of cache strategy beans
...
Issue: SPR-12336
2014-11-01 08:26:48 +01:00
Juergen Hoeller
65d163e604
Revised scheduling lifecycle integration
...
ScheduledAnnotationBeanPostProcessor uses getBean(Class) for TaskScheduler/ScheduledExecutorService retrieval, allowing for a scheduler bean to be flagged as primary, and for a TaskScheduler bean to override a ScheduledExecutorService bean.
ContextLifecycleScheduledTaskRegistrar hooks into SmartInitializingSingleton's afterSingletonsInstantiated callback instead of ContextRefreshedEvent, as a natural consequence of SmartInitializingSingleton's introduction in Spring Framework 4.1 GA.
2014-10-31 17:26:23 +01:00
Juergen Hoeller
7d2231541b
Unit tests for java.util.Optional with autowired collections on @Autowired fields/methods and @Bean method parameters
...
Issue: SPR-9132
2014-10-31 15:28:49 +01:00
Stephane Nicoll
5aefcc802e
Prevent early bean initialization with @EnableCaching
...
Prior to this commmit, any configuration class holding a CacheManager
bean would be eagerly instantiated. This is because the
CacheConfiguration infrastructure requests all beans of type
CacheManager.
This commit defers the resolution of the CacheManager as late
as possible.
Issue: SPR-12336
2014-10-31 14:37:30 +01:00
Juergen Hoeller
5f160c17cd
MBeanExporter logs lazy bean retrieval exceptions on the server at warn level
...
Issue: SPR-12399
2014-10-30 21:57:19 +01:00
Juergen Hoeller
1146d5ba1d
Polishing
2014-10-29 22:44:59 +01:00
Juergen Hoeller
c7a93a80d4
Configuration class parsing reuses metadata from AnnotatedBeanDefinition as far as possible
...
Issue: SPR-12394
2014-10-29 22:08:48 +01:00
Juergen Hoeller
725ad0df50
SimpleMetadataReaderFactory is capable of resolving inner class names with dot syntax now (analogous to ClassUtils.forName)
...
Issue: SPR-12390
2014-10-29 22:03:01 +01:00
Sang Gi Ryu
d62522982f
Performance improvement
...
Use entrySet instead of keySet followed by a lookup per key as the
former is more efficient.
Issue: SPR-12363
2014-10-24 10:53:40 +02:00
Sam Brannen
4412bc68aa
Polish Javadoc
2014-10-23 01:06:12 +02:00
Juergen Hoeller
2956049c30
Polishing
2014-10-22 17:04:50 +02:00
Juergen Hoeller
a2731f1a4f
Revised test for ImportBeanDefinitionRegistrar double scan
...
Issue: SPR-12334
(cherry picked from commit 6e5711a
)
2014-10-22 02:27:41 +02:00
Juergen Hoeller
38030ef237
Test for ImportBeanDefinitionRegistrar double scan
...
Issue: SPR-12334
2014-10-21 23:45:03 +02:00
Juergen Hoeller
ad62b2afb1
Consistent throwing of BeanInstantiationException for factory methods, including a hint about circular references
...
Issue: SPR-12317
2014-10-21 21:40:43 +02:00
Juergen Hoeller
8325b10080
Consistent formatting of license headers, package javadocs, and import declarations
2014-10-21 01:44:07 +02:00
Juergen Hoeller
77a62ec8b8
Polishing
2014-10-20 17:42:18 +02:00
Juergen Hoeller
01724d3b6d
Explicitly detect (and prevent) private @Scheduled methods on CGLIB proxies
...
Issue: SPR-12308
2014-10-07 16:32:09 +02:00
Juergen Hoeller
70fec47944
Provider declaration for @Value method argument works again
...
Issue: SPR-12297
2014-10-06 18:08:19 +02:00
Juergen Hoeller
05c995cfb3
DecoratingClassLoader and its subclasses register themselves as parallel capable on Java 7+
...
Issue: SPR-12285
2014-10-02 14:33:13 +02:00
Juergen Hoeller
3a3c52dbdd
Polishing
2014-10-01 01:10:25 +02:00
Juergen Hoeller
7f9baa3a09
Polishing
2014-09-26 22:38:41 +02:00
Phillip Webb
3827e048d1
Protect against NPE when escaping LiveBeansView
...
Issue: SPR-12252
2014-09-26 12:32:04 -07:00
Juergen Hoeller
f46c706e44
Bean method metadata exposed through AnnotatedBeanDefinition
...
Issue: SPR-12232
2014-09-26 14:46:09 +02:00
Juergen Hoeller
92f7121478
LiveBeansView escapes double quotes in resource descriptions
...
Issue: SPR-12252
2014-09-26 14:01:35 +02:00
Juergen Hoeller
22c0085ba0
ComponentScanAnnotationParser supports multiple base packages within a single placeholder as well
...
Issue: SPR-10425
2014-09-25 17:51:53 +02:00
Juergen Hoeller
cfc821d179
DataBinder unwraps Optional objects and allows for proper handling of Optional.empty()
...
Issue: SPR-12241
2014-09-25 17:00:36 +02:00
Juergen Hoeller
3836aa051f
Message broker thread pools should be set up in allowCoreThreadTimeOut mode
...
Issue: SPR-12249
2014-09-25 01:29:00 +02:00
Juergen Hoeller
e003d21726
Defensively use setRemoveOnCancelPolicy for JDK 6 compatibility
...
Issue: SPR-12238
2014-09-25 01:24:13 +02:00
Juergen Hoeller
e52f041a78
ComponentScanBeanDefinitionParser supports placeholders for entire base-package specification and for type filter expressions
...
Issue: SPR-10424
Issue: SPR-10425
2014-09-25 01:03:08 +02:00
Juergen Hoeller
5ecdd8ca31
Consistent Environment access in XML bean definition parsing code
...
Issue: SPR-12248
2014-09-25 01:02:40 +02:00
Juergen Hoeller
0934751d7a
BeanWrapper supports traversal of nested paths with Java 8 Optional declarations
...
Issue: SPR-12241
2014-09-24 17:56:24 +02:00
Phillip Webb
4c59d85f69
Be defensive adding additional imported configs
...
Refine the logic introduced in commit 71c6eb2b
so that additional
imported @Configuration classes are not considered as candidates if
they have already been parsed.
Issue: SPR-12233
2014-09-22 15:05:47 -07:00
Juergen Hoeller
16325c2eaa
Polishing
2014-09-20 00:29:16 +02:00
Juergen Hoeller
7f8d611598
Defensive reset/restore of JNDI environment (avoiding test side effects)
...
Issue: SPR-12223
2014-09-20 00:23:42 +02:00
Phillip Webb
a2b983a4e4
Further refine property source ordering
...
Refine property source ordering so that sources already contained in the
environment remain before those added by @PropertySource annotations.
Issue: SPR-12198
2014-09-19 00:10:30 -07:00
Phillip Webb
2077388f38
Improve JNDI detection logic
...
Update JndiLocatorDelegate.isDefaultJndiEnvironmentAvailable() to
call `getEnvironment()` on the `InitialContext` in order to actually
trigger a NamingException if JNDI is not available.
Issue: SPR-12223
2014-09-18 23:09:45 -07:00
Juergen Hoeller
f259ca1b1f
Refined tests for property source ordering
...
Issue: SPR-12198
(cherry picked from commit 205e681
)
2014-09-19 00:53:07 +02:00
Juergen Hoeller
90b93ffe3f
Restored property source ordering (fixing regression from 4.0.x)
...
Issue: SPR-12198
2014-09-18 23:48:35 +02:00
Juergen Hoeller
f4219ca06b
Consistent exclusion of bridge methods in annotation post-processors (for Java 8 compatibility)
...
Issue: SPR-12187
2014-09-18 23:45:42 +02:00
Phillip Webb
70b5f319a9
Support @Ordering of Conditions
...
Update ConditionEvaluator to collect then sort Conditions before
evaluation. By annotating Conditions with @Ordered expensive operations
can be pushed to the back of the queue.
Issue: SPR-12219
2014-09-17 21:39:38 -07:00
Juergen Hoeller
a833889c2a
Polishing
2014-09-17 21:55:46 +02:00
Juergen Hoeller
58b22ceddc
Scheduled/JmsListenerAnnotationBeanPostProcessor avoids needless re-scanning of non-annotated classes
...
Issue: SPR-12189
2014-09-17 21:55:35 +02:00
Juergen Hoeller
40cd277b7e
ReloadableResourceBundleMessageSource prevents accidental exposure of incomplete holder
...
Issue: SPR-12177
2014-09-17 15:00:22 +02:00
Juergen Hoeller
15320db414
Polishing
2014-09-17 02:35:41 +02:00
Juergen Hoeller
824c90d2bf
ConfigurationClassParser avoids double registration of nested classes which extend their containing class
...
Issue: SPR-12195
2014-09-16 17:08:30 +02:00
Juergen Hoeller
20c2ba35dc
Polishing
2014-09-04 00:55:38 +02:00
Juergen Hoeller
c6d29f1a31
Refactored support for @Order on @Bean methods as well as @Priority handling
...
Issue: SPR-11310
Issue: SPR-10548
2014-09-04 00:41:13 +02:00
Juergen Hoeller
2f93759d1b
Cache.get(key, type) explicitly defines an IllegalStateException in case of a type mismatch
...
Issue: SPR-12145
2014-09-03 13:00:20 +02:00
Juergen Hoeller
6563405be5
ImportRegistry as a package-visible top-level interface which can easily be shared within the package
...
Issue: SPR-12128
2014-09-03 12:59:51 +02:00
Phillip Webb
abc343f407
Prevent incorrect ImportAware metdata injection
...
Update ImportRegistry to track all import registrations that occur
against an importing class (rather than just keeping the last). In
addition, prune imported classes from the registry when a configuration
class is removed during the REGISTER_BEAN ConfigurationPhase.
This update prevents incorrect metadata from being injected into an
ImportAware class which is imported twice by different configurations
classes (when one of the configuration classes will be ultimately skipped
due to a @Condition).
Issue: SPR-12128
2014-09-02 20:47:30 -07:00
Juergen Hoeller
f617d28eef
Polishing
2014-09-03 00:31:19 +02:00
Juergen Hoeller
4432c41dbd
AbstractAutowireCapableBeanFactory avoids early FactoryBean instantiation on currently created configuration bean
...
Issue: SPR-12141
2014-09-03 00:28:05 +02:00
Juergen Hoeller
98eb0f75bc
Polishing
2014-09-02 22:15:53 +02:00
Juergen Hoeller
8c9274e017
LazyInitTargetSource works for @Bean targets as well
...
Issue: SPR-10508
Issue: SPR-8080
2014-09-02 22:13:35 +02:00
Juergen Hoeller
53fbf1a509
ConfigurationClassParser checks REGISTER_BEAN conditions before processing configuration class imports
...
Issue: SPR-12128
2014-09-02 22:07:51 +02:00
Juergen Hoeller
078f23d6e6
Polishing
2014-08-23 01:07:01 +02:00
Juergen Hoeller
9dfbc5326b
Revised ResourcePropertySource in order to avoid ConfigurationClassProcessor's AnnotationPropertySource subclass
...
Issue: SPR-12115
2014-08-22 13:54:39 +02:00
Phillip Webb
84564a0c7b
Rework @PropertySource early parsing logic
...
Rework the @PropertySource parsing logic recently changed in commit
7c608886
to deal with the same source appearing on a @Configuration
class and an @Import class.
Processing now occurs in a single sweep, with any previously added
sources being converted to a CompositePropertySource.
Issue: SPR-12115
2014-08-21 21:21:15 -07:00
Juergen Hoeller
7c6088861f
@PropertySource gets parsed as early as possible
...
Other PropertySources and in particular @ComponentScan can benefit from previously declared property sources on the same configuration class.
Issue: SPR-12110
Issue: SPR-12111
2014-08-21 22:43:08 +02:00
Juergen Hoeller
a000dd782a
ReloadableResourceBundleMessageSource uses ConcurrentHashMaps and ReentrantLocks instead of synchronization
...
Issue: SPR-10500
2014-08-21 14:24:28 +02:00
Juergen Hoeller
b5763fe326
Consistent attribute documentation/formatting in spring-context and spring-mvc schemas
2014-08-20 16:36:12 +02:00
Juergen Hoeller
9d3d6d5919
DefaultListableBeanFactory defensively handles BeanDefinition access in getBean(Class)
...
Issue: SPR-10542
2014-08-20 10:48:35 +02:00
Juergen Hoeller
2ef3d66c89
Polishing
2014-08-18 19:27:08 +02:00
Stephane Nicoll
bccb3bb70b
polishing
2014-08-18 11:03:58 +02:00
Stephane Nicoll
8fc191c95e
Apply AsyncUncaughtExceptionHandler to AspectJ
...
Prior to this commit, only @Async annotated methods with proxy style
had their custom uncaught exception handler applied. This commit
harmonizes the configuration so that AspectJ applies that behaviour as
well.
Issue: SPR-12090
2014-08-18 10:51:21 +02:00
Juergen Hoeller
b3add794d7
Polishing
2014-08-15 00:55:40 +02:00
Juergen Hoeller
d2e269e697
Fixed fragile tests for @Bean method overloading
2014-08-15 00:55:14 +02:00
Juergen Hoeller
69587f3fa4
Polishing
2014-08-14 23:49:29 +02:00
Phillip Webb
e142fd11e0
Add tests for ImportSelector meta-data
...
Issue: SPR-12059
2014-08-14 07:35:16 -07:00
Juergen Hoeller
fd5dbddac4
BeanFactory supports bean creation arguments for by-type lookup as well
...
Issue: SPR-11235
2014-08-12 22:07:12 +02:00
Juergen Hoeller
71c6eb2bb5
Additional configuration classes get detected when imported through XML or registrars
...
Issue: SPR-11430
Issue: SPR-11723
2014-08-12 17:23:21 +02:00
Phillip Webb
ac8326d2df
Polish mockito usage
...
Consistent use of BDDMockito rather than standard Mockito.
2014-08-11 16:23:11 -07:00
Juergen Hoeller
ad475ffadf
Consistent vararg declarations for String array setters
2014-08-08 17:17:09 +02:00
Juergen Hoeller
47006eeff1
Fixed side effect on other tests
...
Issue: SPR-10459
2014-08-08 17:02:59 +02:00
Juergen Hoeller
f2e4ad2364
ComponentScan annotation allows for registering beans with lazy initialization
...
Issue: SPR-10459
2014-08-08 15:39:06 +02:00
Juergen Hoeller
ef51d4dbdb
AnnotatedElementUtils adapts post-processed values to AnnotationAttributes as well
...
Issue: SPR-12065
2014-08-08 15:15:29 +02:00
Juergen Hoeller
3a419872c8
Polishing
2014-08-07 23:06:08 +02:00
Stephane Nicoll
3da68cfe21
Remove unused imports
2014-08-04 14:13:40 +02:00
Juergen Hoeller
9f3c1cf762
Polishing
2014-07-28 23:05:08 +02:00
Juergen Hoeller
036896a6b8
Split configuration constants into local XConfigUtils classes instead of piling them up in AnnotationConfigUtils
2014-07-28 21:58:21 +02:00
Juergen Hoeller
92c657e12d
JmsListener/ScheduledAnnotationBeanPostProcessor uses SmartInitializingSingleton instead of ContextRefreshedEvent
...
Also reducing the container dependencies to BeanFactory instead of ApplicationContext, wherever possible.
Issue: SPR-12039
2014-07-28 15:58:13 +02:00
Juergen Hoeller
78484129f5
ConcurrentMapCacheManager recreates caches in case of setAllowNullValues change
...
Issue: SPR-12026
2014-07-24 15:06:36 +02:00
Juergen Hoeller
496492b2d8
Autowiring rejects self references to a factory method on the same bean as well
...
Issue: SPR-12018
2014-07-24 12:13:25 +02:00
Stephane Nicoll
d9e0b292ab
polishing
2014-07-23 17:08:19 +02:00
Juergen Hoeller
5e2fbe7355
AbstractApplicationContext logs initialization exception before trying to cancel refresh attempt
...
Issue: SPR-12010
2014-07-22 16:33:46 +02:00
Juergen Hoeller
9d6c38bd54
Consistent bracket alignment
2014-07-18 17:21:58 +02:00
Stephane Nicoll
35226695eb
Rename default to testCache in Cache related tests
...
This simply renames the default cache from "default" to "testCache" as
this might be a reserved names for third party cache providers.
2014-07-16 17:25:27 +02:00