Commit Graph

194 Commits

Author SHA1 Message Date
Phillip Webb 7c3cdf82cc Try a different mbean port 2013-11-21 11:49:49 -08:00
Phillip Webb 639b2cb12e Increase performance test timeout 2013-11-20 22:05:34 -08:00
Sam Brannen d67fe1db86 Polish spring-context
- Cache interceptor internals now operate on collections of
   <? extends Cache> instead of <Cache>.
 - Deleted unused imports.
 - Deleted dead code.
 - Suppressed warnings for resource leaks related to not closing
   ApplicationContexts in tests.
 - Suppressed further non-issue warnings in tests.
2013-11-11 12:09:50 +01:00
Juergen Hoeller e9a24da225 Added test for placeholder in alias definition
Issue: SPR-11018
2013-11-06 00:14:26 +01:00
Juergen Hoeller 0aedd81ccc JndiObjectFactoryBean converts a "defaultObject" value to the expected type if necessary
Issue: SPR-11039
2013-11-06 00:12:52 +01:00
Juergen Hoeller 8f81a12236 Added actual overriding test to BeanMethodPolymorphismTests
Issue: SPR-10992
2013-11-05 01:09:51 +01:00
Juergen Hoeller 935bd25b09 Revised @Bean processing rules
@Bean method metadata is always being picked from the most concrete subclass; @Bean method overloads are allowed within the same config class as well; and @Bean overrides and overloads work with 'allowBeanDefinitionOverriding'=false now.

Issue: SPR-10992
Issue: SPR-11025
2013-11-04 23:34:00 +01:00
Juergen Hoeller 50d3f71923 Added get(key, type) method to Cache interface
This new get variant not only allows for generically specifying the required value type; it also skips the ValueWrapper that the standard get method returns. Note that it is not possible to differentiate between non-existing cache entries and cached null values that way; for that purpose, the standard get variant needs to be used.

Issue: SPR-11061
2013-11-04 14:31:41 +01:00
Juergen Hoeller b093b84954 Use non-lenient constructor resolution mode for @Bean methods
Since @Bean methods are never used with externally specified constructor argument values but rather just with autowiring, the non-lenient constructor resolution mode is appropriate in case of an overloaded @Bean method, not performing any type difference weight checks. This change includes a refinement of Spring's existing non-lenient constructor resolution (which needs to be explicitly turned on and is therefore not well tested), narrowing the conditions for the ambiguity check (only in case of the same number of arguments and not for overridden methods).

Issue: SPR-10988
2013-11-04 00:19:55 +01:00
Juergen Hoeller 7b2ac6d194 LocaleContextHolder allows for independent setting of Locale and TimeZone
Issue: SPR-1528
2013-11-01 22:41:31 +01:00
Juergen Hoeller 6e418fe43d QualifierAnnotationAutowireCandidateResolver matches regular bean name for FactoryBean dependency type as well 2013-10-31 15:26:10 +01:00
Juergen Hoeller f9584184ef Allow for specific instance-based match to override factory method signature match
Issue: SPR-11046
2013-10-30 22:02:04 +01:00
Juergen Hoeller 48b9e9a203 Spring uses Joda-Time 2.0's specific parseLocalDate/parseLocalTime/parseLocalDateTime methods now
Issue: SPR-11014
2013-10-30 16:50:21 +01:00
Juergen Hoeller 0fe49629c0 AbstractApplicationContext's ApplicationListenerDetector removes listeners from ApplicationEventMulticaster on individual destruction
Issue: SPR-7856
2013-10-30 12:30:13 +01:00
Phillip Webb 78c10cd242 Polish BeanMethodPolymorphismTests
Polish BeanMethodPolymorphismTests and add @Ignored failing test
for SPR-10988.

Issue: SPR-10988
2013-10-28 16:51:20 -07:00
Juergen Hoeller 671fad3cb5 Added further tests for raw matching of generic types
Issue: SPR-11034
Issue: SPR-11004
2013-10-27 11:02:16 +01:00
Juergen Hoeller dfb29f4296 Introduced ScriptEvaluator strategy interface
Including ScriptEvaluator implementations for JSR-223, Groovy and BeanShell. BeanShell consistently receives the bean ClassLoader now. Also revised ScriptFactory and its implementations for varargs.

Issue: SPR-11007
2013-10-26 02:21:35 +02:00
Rossen Stoyanchev b8809daf5f Refactor HandlerMethod support in spring-messaging
Introduce base class AbstractMethodMessageHandler for
HandlerMethod-based message handling.

Add MessageCondition interface for mapping conditions to messages
with support for combining type- and method-level annotation
conditions, the ability to match conditions to messages, and also
comparing matches to select the best match.

Issue: SPR-11024
2013-10-24 21:50:49 -04:00
Phillip Webb e95bd9e250 Add @PropertySources and ignoreResourceNotFound
Support repeatable @PropertySource annotations in Java 8 and add
@PropertySources container annotation for Java 6/7. Also add an
ignoreResourceNotFound attribute to @PropertySource allowing missing
property resources to be silently ignored.

This commit also introduces some generally useful methods to
AnnotationUtils for working with @Repeatable annotations.

Issue: SPR-8371
2013-10-22 11:15:50 -07:00
Phillip Webb e3d3d8cd95 Consistent ordering for @PropertySource locations
Ensure that property source locations are processed in the same order
regardless if the 'name' attribute is set or not.

Prior to this commit multiple locations from a `@PropertySource` with
a name were added to a `CompositePropertySource` in such a way that
the first location would take precedence. This has now been reversed
for consistence with unnamed `@PropertySource`s

Issue: SPR-10820
2013-10-21 13:11:19 -07:00
Phillip Webb b0ff834ee3 Multicaster support for events with null source
Update `AbstractApplicationEventMulticaster` to support `EventObjects`
with a null source (which can happen if they have been serialized).

Issue: SPR-10945
2013-10-21 11:59:46 -07:00
Phillip Webb f4a66a4326 Polish GroovyBeanDefinitionReader formatting
Consistent use of tabs and remove trailing whitespace.

Issue: SPR-7123
2013-10-17 13:46:32 -07:00
Juergen Hoeller 8d6406bbae Groovy-based bean definitions
Formerly known as the Grails BeanBuilder, now in Spring proper. Based on https://github.com/spring-projects/spring-framework/pull/355 but heavily refactored and restructured.

Issue: SPR-7123
2013-10-17 19:24:08 +02:00
Juergen Hoeller 9bfbe36b1c Restored registration of nested component classes (even without factory methods)
Issue: SPR-10865
Issue: SPR-10970
2013-10-16 01:51:47 +02:00
Juergen Hoeller 3bd6dfe047 Autowiring of generic types
Includes revisions of MethodParameter and DependencyDescriptor (in particular towards a reference to the containing class). Also refines several ResolvableType method signatures.

Issue: SPR-9965
2013-10-15 00:11:23 +02:00
Juergen Hoeller f705ec1a46 Added ASPECTJ and REGEX constants to FilterType, along with a corresponding 'pattern' attribute on ComponentScan.Filter
Issue: SPR-10593
2013-09-26 21:16:46 +02:00
Phillip Webb b409ba0076 Remove accidentally committed test case 2013-09-25 10:43:23 -07:00
Phillip Webb 783871a42a Restore 'maven.java.net' repository
Restore 'maven.java.net' repository accidentally removed in commit
2337e763.
2013-09-25 11:21:55 +02:00
Phillip Webb 05072e1762 Expand var-args before passing to KeyGenerator
Update `CacheAspectSupport` to expand any var-arg parameters before
calling `KeyGenerator` implementations. Prior to this commit var-args
would be passed to `KeyGenerator` implementations as a nested array,
often causing the same key to be generated regardless of the arguments.

Issue: SPR-10870
2013-09-23 15:14:58 -07:00
Oliver Gierke 1f9e8f68d4 Add support for Objenesis proxy creation.
Extended DefaultAopProxyFactory to create Objenesis based proxies if the
library is on the classpath. This allows classes without a default
constructor being CGLib proxied. We're now falling back to original CGLib
based behavior in case the proxy creation using Objenesis fails.

Objenesis 2.0 is now inlined into spring-core to avoid interfering with
other Objenesis versions on the classpath.

Issue: SPR-10594
2013-09-12 16:32:27 -07:00
Juergen Hoeller 0c00b0d902 Added 'zone' attribute to @Scheduled
Issue: SPR-10456
2013-08-29 18:44:01 +02:00
Juergen Hoeller fe8dec912d @Bean methods are allowed to override existing bean definitions with a role other than ROLE_APPLICATION now (e.g. framework-generated default beans)
Also, DefaultListableBeanFactory logs a warning when overriding an application definition with a framework-generated definition now, which is expected to be an accident.

Issue: SPR-10607
2013-08-28 22:14:34 +02:00
Juergen Hoeller bb971cecf1 A BeanDefinitionRegistryPostProcessor may register other BeanDefinitionRegistryPostProcessors
We're using the same subtle PriorityOrdered/Ordered/non-ordered separation as for regular BeanFactoryPostProcessors and BeanPostProcessors now. Additionally, we're re-detecting BeanDefinitionRegistryPostProcessor bean names after every invocation phase, up until no further ones appear.

Issue: SPR-10630
2013-08-28 12:49:53 +02:00
Juergen Hoeller 4447248a83 Introduced support for @Lazy on injection points
This turned into a rather huge affair since it led to the introduction of a new AutowireCandidateResolver implementation in the spring-context module. That ACR impl is now being set through AnnotationConfigUtils; GenericApplicationContext and co do not set a default QualifierAnnotationAutowireCandidateResolver anymore (which has always been a smell anyway).  At the same time, dependency ordering has moved from AutowiredAnnotationBeanPostProcessor to DefaultListableBeanFactory itself through a "dependencyComparator" strategy, applying to constructor dependencies and lazy resolution proxies as well.

Issue: SPR-10353
2013-08-28 00:14:39 +02:00
Juergen Hoeller 5efe894ee4 Not exposing ApplicationContext on ConditionContext anymore 2013-08-28 00:00:54 +02:00
Phillip Webb ced5ea2f93 Revert "Ensure @Conditions consider super classes"
This reverts commit 620c16f5c7.
2013-08-27 10:39:51 -07:00
Phillip Webb 620c16f5c7 Ensure @Conditions consider super classes
Fix @Condition evaluation to also consider super classes for both
@Configuration classes and regular @Components. This change allows
@Conditional annotations to be inherited and restores the previous
behavior of @Profile.

Issue: SPR-10840
2013-08-26 17:12:02 -07:00
Juergen Hoeller aecf60d21f Discovering and accumulating all @Profile meta-annotations
Issue: SPR-10812
2013-08-26 20:03:32 +02:00
Juergen Hoeller c9771012e9 Introduced @Description annotation for populating BeanDefinition.getDescription()
Issue: SPR-10583
2013-08-23 16:49:25 +02:00
Juergen Hoeller 3d462b6dd9 Added missing spring.schemas entries for 4.0 xsds
Also fixing an old XmlBeanFactory test that relies on "ref local" which is gone in the 4.0 xsd now, redeclaring the affected file to an older xsd version.
2013-08-22 19:36:53 +02:00
Juergen Hoeller 6d3649858e Allow meta-annotations to override attributes from their parent
Issue: SPR-10181
2013-08-21 17:35:56 +02:00
Sam Brannen 14ac023e01 Avoid use of repeated @Scheduled in tests
Commented out severalFixedRatesWithRepeatedScheduledAnnotation() until
we have full Java 8 support in the IDEs (e.g., Eclipse).

Issue: SPR-10532
2013-08-12 23:32:35 +02:00
Sam Brannen c3dd9ff342 Add test with @Schedules container annotation
Issue: SPR-10532
2013-08-11 00:05:36 +02:00
Juergen Hoeller f9325a8376 Added Java 8 compliant @Schedules container annotation for @Scheduled
Issue: SPR-10532
2013-08-08 15:52:41 +02:00
Juergen Hoeller 127b91fd4f PropertySourcesPlaceholderConfigurer's "ignoreUnresolvablePlaceholders" setting reliably applies to nested placeholders as well
Issue: SPR-10549
2013-07-31 17:50:44 +02:00
Juergen Hoeller b8f7a30790 OpenJDK 8 build 99: different toString() output from JSR-310 Instant 2013-07-24 13:37:52 +02:00
Phillip Webb 1a8f0d6a9e Resolve ${} placeholders in @ImportResource
Update ConfigurationClassParser to resolve any ${} placeholders from
@ImportResource values.

Issue: SPR-10686
2013-07-19 13:10:16 -07:00
Rossen Stoyanchev d3cecfc6cc Create spring-messaging module
Consolidates new, messaging-related classes from spring-context and
spring-websocket into one module.
2013-07-12 13:44:41 -04:00
Rossen Stoyanchev ef823721e5 Split AbstractMessagingTemplate across send/receive 2013-07-04 11:38:21 -04:00
Rossen Stoyanchev 8560582c40 Add messaging.channel package 2013-07-03 20:59:17 -04:00