Juergen Hoeller
b28d96af7d
ScheduledAnnotationBeanPostProcessor accepts non-void methods as well
...
Issue: SPR-14175
2016-04-14 21:59:02 +02:00
Juergen Hoeller
999112216d
AopUtils.canApply properly matches package-visible methods (aligned with advice matching within proxies)
...
Also, AbstractAutoProxyCreator considers Pointcut as infrastructure class, analogous to Advice and Advisor.
Issue: SPR-14174
2016-04-14 21:46:25 +02:00
Juergen Hoeller
3b44c47dcd
Polishing
2016-04-14 16:39:36 +02:00
Juergen Hoeller
dcfa4740ee
Polishing
...
(cherry picked from commit 09b7735
)
2016-04-13 13:56:37 +02:00
Juergen Hoeller
da112611a5
SpringCacheAnnotationParser properly accepts empty @Caching annotation
...
Issue: SPR-14162
2016-04-12 23:19:51 +02:00
Stephane Nicoll
10554a85c9
Polish
2016-04-12 08:34:38 +02:00
Juergen Hoeller
b6f1afd471
Polishing
2016-04-11 21:20:31 +02:00
Juergen Hoeller
537193a4e0
Consistent license header
2016-04-11 20:49:38 +02:00
Juergen Hoeller
550a3209f7
Fixed XML example for setup of scheduled tasks
...
Issue: SPR-14145
2016-04-11 19:27:06 +02:00
Juergen Hoeller
b82df144e4
LoadTimeWeaver.getThrowawayClassLoader() decorated for exclude support (if necessary)
...
Issue: SPR-13886
2016-04-11 19:19:37 +02:00
Juergen Hoeller
437ffa6067
Detect LoadTimeWeaver bean when declared through @Bean method as well
...
Issue: SPR-10856
2016-04-11 17:43:23 +02:00
Juergen Hoeller
4407bd794d
Polishing
2016-04-10 05:40:35 +02:00
Juergen Hoeller
cb9549655c
AbstractApplicationContext registers default embedded value resolver
...
Issue: SPR-14140
2016-04-09 20:49:22 +02:00
Juergen Hoeller
157dcab56c
Cleanup of remaining direct BeanWrapper usage
...
Issue: SPR-14121
2016-04-07 14:27:22 +02:00
youmoo
1bccc8f1cd
Fix typo
...
Closes gh-1027
2016-04-04 17:36:17 +02:00
Juergen Hoeller
13f889e914
SimpleApplicationEventMulticaster leniently handles ClassCastException
...
Issue: SPR-14109
2016-04-04 14:54:38 +02:00
Juergen Hoeller
696dcb72a5
SpringValidatorAdapter allows for custom field name resolution
...
Issue: SPR-14104
2016-04-01 10:29:56 +02:00
Juergen Hoeller
739ae8c045
LocalValidatorFactoryBean supports custom ValidationProviderResolver
...
Issue: SPR-14100
2016-03-31 16:52:26 +02:00
Juergen Hoeller
14bf6509ec
Consistent cache key implementation across transaction and cache attribute sources
...
Includes consistent applicability of class-level metadata to user-level methods only.
Issue: SPR-14017
Issue: SPR-14095
2016-03-30 14:13:04 +02:00
Sam Brannen
ea09e578b9
Document support for @Cache* as merged composed annotations
...
Issue: SPR-13475
2016-03-29 20:04:43 +02:00
Sam Brannen
2ed3382a60
Document composed support for @Scheduled, @JmsListener, & @Sql
...
Issue: SPR-13973
2016-03-29 19:53:58 +02:00
Sam Brannen
3597879608
Revert merged support for @ManagedNotification & @ManagedOperationParameter
...
This commit reverts the recently added merged annotation support for
Spring's JMX annotations by once again using the simpler searches for
repeatable annotations in AnnotationUtils.
Issue: SPR-13973
2016-03-29 17:51:47 +02:00
Sam Brannen
4fa11e334f
Test @ManagedNotification as a merged, composed annotation
...
Issue: SPR-13973
2016-03-26 20:10:20 +01:00
Juergen Hoeller
54aeb7a5d6
Cache key classes implement Comparable and consistently provide a toString representation
...
Issue: SPR-14017
2016-03-26 14:32:10 +01:00
Sam Brannen
a8b5ea1c51
Polishing
2016-03-26 01:27:37 +01:00
Sam Brannen
4836d06704
Test @Scheduled as a merged composable annotation
...
Issue: SPR-13973
2016-03-26 00:47:02 +01:00
Juergen Hoeller
c6ff0951fc
Polishing
2016-03-25 23:46:18 +01:00
Juergen Hoeller
94cb7786c8
Polishing
2016-03-25 23:28:45 +01:00
Sam Brannen
c6b1f38651
Support @Scheduled as a merged composable annotation
...
Issue: SPR-13973
2016-03-25 00:49:59 +01:00
Sam Brannen
b6d9fd39e6
Support @ManagedNotification & @ManagedOperationParameter as merged annotations
...
Issue: SPR-13973
2016-03-25 00:49:21 +01:00
Juergen Hoeller
517ebd1d3e
Consistent formatting
2016-03-24 19:22:50 +01:00
Juergen Hoeller
9af12d290e
Polishing
2016-03-23 18:39:29 +01:00
Juergen Hoeller
5025c615b1
Consistent use of AnnotatedElementUtils.findMergedAnnotation/hasAnnotation
...
Issue: SPR-13440
2016-03-23 18:39:20 +01:00
Juergen Hoeller
3c18a4533a
Ignored test removed (not intended to work)
...
Issue: SPR-14058
2016-03-23 18:15:29 +01:00
Sam Brannen
59c88eb3c0
Support @Cache* as merged composed annotations
...
Prior to this commit, @Cacheable, @CacheEvict, @CachePut, and @Caching
could be used to create custom stereotype annotations with hardcoded
values for their attributes; however, it was not possible to create
composed annotations with attribute overrides.
This commit addresses this issue by refactoring
SpringCacheAnnotationParser to use the newly introduced
findAllMergedAnnotations() method in AnnotatedElementUtils. As a
result, @Cacheable, @CacheEvict, @CachePut, and @Caching can now be
used to create custom composed annotations with attribute overrides
configured via @AliasFor.
Issue: SPR-13475
2016-03-21 12:54:09 +01:00
Sam Brannen
4cd7ba12bb
Polishing
2016-03-19 14:39:01 +01:00
Juergen Hoeller
a1a06cd665
@EnableScheduling tests do not expect exception in case of scheduler ambiguity anymore
...
Issue: SPR-14030
2016-03-19 13:18:24 +01:00
Sam Brannen
5045579028
Revise EnableSchedulingTests
...
- Fast tests now always run (i.e., are no longer limited to the
performance build
- Failing tests have been @Ignore'd
Issue: SPR-14030
2016-03-19 12:38:47 +01:00
Juergen Hoeller
6e3fac85f3
AnnotationAwareOrderComparator uses DecoratingProxy interface for target class introspection
...
Issue: SPR-13884
2016-03-18 22:12:10 +01:00
Juergen Hoeller
431ca9314a
Leniently allow constructor argument matches if required name is not resolvable
...
Issue: SPR-13987
2016-03-18 18:51:33 +01:00
Juergen Hoeller
a95bf6e0fc
Current InjectionPoint/DependencyDescriptor as factory method argument
...
Issue: SPR-14033
2016-03-18 15:30:33 +01:00
Juergen Hoeller
d2c0885e29
StandardServletEnvironment supports "spring.jndi.ignore" flag for efficient property lookups
...
Issue: SPR-14026
2016-03-16 18:14:44 +01:00
Stephane Nicoll
b1121fba70
Polish
2016-03-16 17:14:03 +01:00
Stephane Nicoll
30d457c622
Deprecate addCache
2016-03-16 17:13:06 +01:00
Sam Brannen
e904ce4ead
Polish QualifierAnnotationAutowireContextTests
2016-03-15 18:17:50 +01:00
Sam Brannen
e83e3ec9de
Add failing test for @Qualifier as composed annotation
...
Issue: SPR-14058
2016-03-15 18:13:59 +01:00
Stephane Nicoll
33a4e9e57f
Prevent non public bean to be exposed to JMX
...
Previously, a package private `@ManagedResource` annotated bean was
registered to the JMX domain even if any attempt to invoke an operation
on it will fail since it has to be public.
This commit validates that any `@ManagedResource` annotated bean is
public and throws an InvalidMetadataException otherwise. Note that the
actual bean type does not have to be public as long as the class
annotated with `@ManagedResource` in the hierarchy is pubic and no extra
operations or attributes are defined on the child.
Issue: SPR-14042
2016-03-15 09:51:20 +01:00
Juergen Hoeller
155fa3754b
Consistent lazy resolution of default executor/scheduler for Async/ScheduledAnnotationBeanPostProcessor
...
Issue: SPR-14030
2016-03-11 23:23:58 +01:00
Phillip Webb
094cf6cafb
Support *Aware for @ComponentScan custom filters
...
Support a limited set of *Aware interfaces for TypeFilters created
via the @ComponentScan annotation.
Issue: SPR-14009
2016-03-11 12:40:42 -08:00
Juergen Hoeller
b4de66ff9a
Test for placeholder-specified default value within @Value
...
Issue: SPR-14025
2016-03-11 15:00:01 +01:00
Juergen Hoeller
0597ff109e
Bsh/GroovyScriptFactory reset script cache in case of compilation error
...
Issue: SPR-14007
2016-03-11 12:55:20 +01:00
Juergen Hoeller
b944283354
ConstructorResolver exposes parameter signature from user-declared class (in case of a CGLIB-generated subclass)
...
Issue: SPR-14015
2016-03-11 12:52:40 +01:00
Stephane Nicoll
8e24a4153c
Support ResolvableTypeProvider on simple event pojo
...
Previously, the generic type of a simple pojo event implementing
ResolvableTypeProvider wasn't detected properly. This commit fixes the
logic when the generic type is not provided to reuse what
PayloadApplicationEvent is already doing anyway.
Issue: SPR-14029
2016-03-09 11:55:20 +01:00
Stephane Nicoll
e086a5d58b
Polish
...
Add period unit in the description so that it shows up in the summary
description.
2016-03-06 09:04:59 +01:00
Phillip Webb
ffbf264976
Polish Javadoc
2016-03-01 13:34:25 -08:00
Sam Brannen
61824b1ade
Remove trailing whitespace from source code
2016-02-29 18:52:57 +01:00
Juergen Hoeller
8e5e384de7
Test for constructor with unresolvable parameter name
...
Issue: SPR-13987
2016-02-29 11:18:23 +01:00
Juergen Hoeller
7b1fcfc7c3
Consistently strict parsing of date overflows (using java.time's strict resolution style)
...
Issue: SPR-13567
2016-02-23 16:12:26 +01:00
Juergen Hoeller
a3789120c9
Support for @PropertySource annotations with custom implementation types
...
Issue: SPR-8963
2016-02-22 23:25:50 +01:00
Juergen Hoeller
b9fe6d89da
Avoid NPE in case of @Lazy @Autowired(required=false)
...
Issue: SPR-13967
2016-02-22 23:21:59 +01:00
Juergen Hoeller
700ab2fc98
DataBinder test for java.util.Optional property
...
Issue: SPR-13933
2016-02-19 19:21:09 +01:00
Juergen Hoeller
a7ad49adcf
Placeholder configurers allow for trimming of property values
...
Issue: SPR-5839
2016-02-19 19:19:39 +01:00
Juergen Hoeller
5ed9046886
BeanMethodInterceptor does not pass on null arguments for singleton beans
...
Issue: SPR-13887
2016-02-19 14:00:52 +01:00
Andy Wilkinson
65d144b1e5
Consistent descriptions for ConfigurationClass
...
Previously, a ConfigurationClass created from AnnotationMetadata
and a ConfigurationClass created from a class would have subtly
different descriptions. Given a class named com.example.Foo, the
former’s description would be “com.example.Foo”, whereas the latter’s
description would be “class com.example.Foo”.
This commit updates ConfigurationClass to make the description
consistent, preferring the description without “class” in it.
Closes gh-970
2016-02-19 09:08:55 +01:00
Juergen Hoeller
7fcb277de9
Consistent behavior for unwrap(null) on JPA and Bean Validation wrappers
...
Includes a fix for Query unwrapping before passing it to addNamedQuery.
Issue: SPR-13960
Issue: SPR-13957
2016-02-18 16:19:09 +01:00
Juergen Hoeller
ea4a766df7
Consistent support for SpEL next to placeholders in annotation attributes
...
Issue: SPR-13625
2016-02-17 23:00:07 +01:00
Juergen Hoeller
25be5e060c
TaskDecorator callback supported by common TaskExecutor implementations
...
Issue: SPR-13930
2016-02-17 16:58:02 +01:00
Juergen Hoeller
ac44f9edd9
Consistent equals implementations across class hierarchies
...
Issue: SPR-13951
2016-02-17 16:57:29 +01:00
Stephane Nicoll
513c1ea3d9
Update @author tag
2016-02-17 14:50:29 +01:00
Stephane Nicoll
37b3b24578
Polish contribution
...
Closes gh-957
2016-02-17 13:30:48 +01:00
soldierkam
c73e52412a
Decrease allocation rate for CacheOperation
2016-02-17 13:15:05 +01:00
Juergen Hoeller
5c87afc51d
Polishing
2016-02-16 22:28:46 +01:00
Juergen Hoeller
51c35bf81c
SpringValidatorAdapter exposes String attributes as MessageSourceResolvable
...
Issue: SPR-13406
2016-02-16 22:16:19 +01:00
Juergen Hoeller
b79e8a5cbc
Support for Common Annotations 1.1 Resource.lookup() attribute
...
Issue: SPR-13941
2016-02-12 17:41:10 +01:00
Juergen Hoeller
0dff782402
Fixed addProtocolResolver signature in ConfigurableApplicationContext
...
Issue: SPR-12857
Issue: SPR-13905
2016-02-11 22:47:41 +01:00
Juergen Hoeller
37de0b241d
ProtocolResolver SPI allows for custom resource resolution
...
Issue: SPR-12857
Issue: SPR-13905
2016-02-11 22:21:26 +01:00
Sam Brannen
26edc674ed
Polish Javadoc for resource-based MessageSources
2016-02-04 21:32:37 +01:00
Juergen Hoeller
f108deb114
(Reloadable)ResourceBundleMessageSource allows for adding resources
...
This turned into the extraction of a common AbstractResourceBasedMessageSource base class which not only features addBasenames but also getBasenameSet and setCacheMillis.
Issue: SPR-10314
2016-02-04 19:57:40 +01:00
Juergen Hoeller
a3a5a03ee3
PropertySource annotation allows for custom encoding
...
Issue: SPR-13874
2016-01-26 18:00:05 +01:00
Juergen Hoeller
4a0fa69ce4
Injection support for Collection/Map beans and self references
...
Issue: SPR-13585
Issue: SPR-12180
Issue: SPR-7915
Issue: SPR-8450
2016-01-25 21:25:48 +01:00
Juergen Hoeller
64ce8a81c3
Polishing
2016-01-25 20:33:48 +01:00
Juergen Hoeller
d18b3f049a
Tests for @Enable/@ComponentScan without @Configuration
...
Issue: SPR-10660
2016-01-25 20:32:45 +01:00
Juergen Hoeller
837cb752a4
Clarify component scan include-filter semantics
...
Issue: SPR-13844
2016-01-25 20:24:26 +01:00
Stephane Nicoll
cd903e26de
Polish
2016-01-22 04:35:33 +01:00
Andy Clement
a12f23936c
Allow use of '&' prefix to access factory bean in SpEL
...
Prior to this change SpEL did not have an syntactic
construct enabling easy access to a FactoryBean. With this
change it is now possible to use &foo in an expression when
the factory bean should be returned.
Issue: SPR-9511
2016-01-21 16:14:16 -08:00
Stephane Nicoll
eb49f3c225
Add interface-based detection test
...
Add a test that explicitely validates that `@ManagedResource` and friends
can be set on an interface.
Issue: SPR-13138
2016-01-18 14:14:17 +01:00
Juergen Hoeller
182b1e99e3
TODO marker for test which fails as of AspectJ 1.9 beta 3
...
Issue: SPR-13839
2016-01-15 17:43:59 +01:00
Stephane Nicoll
2fc2c29e9a
Update copyright header
2016-01-15 10:51:11 +01:00
Rossen Stoyanchev
3dae3fd8a9
Refine ListenableFutureCallback policy for exceptions
...
This change updates all cases where callbacks are invoked to catch and
suppress errors (since there is not match to do with and error from
a callback be it success or failure).
Also updated is the contract itself to clarify this and emphasize the
callbacks are really notifications for the outcome of the
ListenableFuture not the callbacks themselves.
Issue: SPR-13785
2016-01-14 17:49:01 -05:00
Juergen Hoeller
773d175681
Polishing
2016-01-13 12:52:05 +01:00
Juergen Hoeller
e14c2de1d2
ImportStack extends ArrayDeque instead of Stack and relies on standard contains implementation
...
Issue: SPR-13852
2016-01-13 12:46:28 +01:00
Juergen Hoeller
27c2e8c80d
Polishing
2015-12-29 21:40:20 +01:00
Juergen Hoeller
388bd87ef0
ComponentScan annotation is repeatable now
...
Issue: SPR-13151
2015-12-29 21:40:08 +01:00
Juergen Hoeller
4f955932a7
@Value can be used as aliased meta-annotation
...
Issue: SPR-13603
2015-12-29 18:02:16 +01:00
Juergen Hoeller
470ea977e1
Consistent validation of annotated methods behind AOP proxies
...
Issue: SPR-13816
2015-12-23 20:47:28 +01:00
Juergen Hoeller
1cfeb07fa5
Consistent use of varargs plus related polishing
...
(cherry picked from commit deae872
)
2015-12-23 00:31:11 +01:00
Juergen Hoeller
bb0bc3d415
Polishing
2015-12-22 16:19:26 +01:00
Stephane Nicoll
0194988425
Store by value support for ConcurrentMapCacheManager
...
ConcurrentMapCacheManager and ConcurrentMapCache now support the
serialization of cache entries via a new `storeByValue` attribute. If it is
explicitly enabled, the cache value is first serialized and that content
is stored in the cache.
The net result is that any further change made on the object returned
from the annotated method is not applied on the copy held in the cache.
Issue: SPR-13758
2015-12-22 13:50:23 +01:00
Stephane Nicoll
d444ef4871
Support for bean refs in event SpEL condition
...
Issue: SPR-13814
2015-12-22 11:30:40 +01:00
Stephane Nicoll
9b5e47026c
Support for bean refs in caching SpEL expressions
...
Issue: SPR-13182
2015-12-22 11:05:24 +01:00
Stephane Nicoll
19d97c4253
Support for multi-threaded cache access
...
Previously, if a `@Cacheable` method was accessed with the same key by
multiple threads, the underlying method was invoked several times instead
of blocking the threads while the value is computed. This scenario
typically affects users that enable caching to avoid calling a costly
method too often. When said method can be invoked by an arbitrary number
of clients on startup, caching has close to no effect.
This commit adds a new method on `Cache` that implements the read-through
pattern:
```
<T> T get(Object key, Callable<T> valueLoader);
```
If an entry for a given key is not found, the specified `Callable` is
invoked to "load" the value and cache it before returning it to the
caller. Because the entire operation is managed by the underlying cache
provider, it is much more easier to guarantee that the loader (e.g. the
annotated method) will be called only once in case of concurrent access.
A new `sync` attribute to the `@Cacheable` annotation has been addded.
When this flag is enabled, the caching abstraction invokes the new
`Cache` method define above. This new mode bring a set of limitations:
* It can't be combined with other cache operations
* Only one `@Cacheable` operation can be specified
* Only one cache is allowed
* `condition` and `unless` attribute are not supported
The rationale behind those limitations is that the underlying Cache is
taking care of the actual caching operation so we can't really apply
any SpEL or multiple caches handling there.
Issue: SPR-9254
2015-12-21 13:34:35 +01:00
Juergen Hoeller
fca5365cf1
Avoid scoped destruction callbacks in case of no post-processor actually applying
...
Issue: SPR-13744
2015-12-18 16:54:05 +01:00
Stephane Nicoll
3a238a2b61
Polish contribution
...
Closes gh-921
Issue: SPR-13690
2015-12-18 15:47:13 +01:00
Ben Manes
13aabeef37
Add caching support for Caffeine
...
Issue: SPR-13690
2015-12-18 15:47:13 +01:00
Juergen Hoeller
967ef73765
Detect @Autowired constructors for configuration classes
...
Issue: SPR-13471
2015-12-18 15:31:31 +01:00
Stephane Nicoll
9e7c791a0f
Automatically autowire a bean with one constructor
...
Previously, if a managed bean had only one non-default constructor, we
should still annotate it with `@Autowired` to properly use constructor
injection. Not doing so resulted in an error as the container was
trying to call the default (non-existing) constructor.
This commit updates this behaviour to automatically applyed the
autowiring semantic to any bean that has only one constructor. As
before, if more than one constructor is defined, `@Autowired` must be
specified to teach the container the constructor it has to use.
Issue: SPR-12278
2015-12-18 14:04:18 +01:00
Sam Brannen
5b3edcd9f9
Spring Cleaning in December
...
- Delete unused imports
- Delete unused code
- Clean up warnings
2015-12-17 20:27:33 +01:00
Sam Brannen
93de3553c1
Polish Javadoc in @Cache* annotations
2015-12-17 17:05:33 +01:00
Stephane Nicoll
752d3c715a
Initiate structure for 4.3 XSDs
2015-12-17 15:43:23 +01:00
Juergen Hoeller
753347ea98
Consistent static final logger declarations
2015-12-16 20:44:00 +01:00
Juergen Hoeller
fdc14a16ee
AbstractApplicationContext clears ReflectionUtils cache as well
...
Issue: SPR-13783
2015-12-09 19:25:27 +01:00
Juergen Hoeller
76f84b914f
Polishing
2015-12-09 13:10:04 +01:00
Juergen Hoeller
11806b9215
Class identity comparisons wherever possible (and further polishing)
...
Issue: SPR-12926
2015-12-09 12:28:09 +01:00
Stephane Nicoll
34b596c6bf
Polish cache javadoc
...
Issue: SPR-13746
2015-12-09 11:24:53 +01:00
Juergen Hoeller
7a8a9c71b6
Javadoc fixes
...
Issue: SPR-13763
2015-12-07 12:51:44 +01:00
Juergen Hoeller
def10343ea
Unit tests for @Value Resource resolution
...
Issue: SPR-13731
2015-11-30 10:41:55 +01:00
Juergen Hoeller
edbb8bbb01
JodaTimeFormatterRegistrar defensively checks whether Joda-Time 2.x is present (for Joda-Time 1.x tolerance on the classpath)
...
Also switches 4.2.4's new formatter implementations to package visibility, just in case they'll be superseded by another variant in the future.
Issue: SPR-13730
2015-11-29 22:22:05 +01:00
Juergen Hoeller
dd647659b3
Rearranged cache test class names across several modules
2015-11-26 16:30:44 +01:00
Juergen Hoeller
8c4436926f
Polishing
2015-11-26 02:09:37 +01:00
Juergen Hoeller
1da564d2f0
Joda/DateTimeFormatterRegistrar also supports YearMonth and MonthDay
...
Issue: SPR-13518
2015-11-25 23:39:14 +01:00
Juergen Hoeller
bc0b707175
JodaTimeFormatterRegistrar supports Duration and Period as well
...
Issue: SPR-6706
2015-11-25 23:10:32 +01:00
Juergen Hoeller
a0747c2148
Consistent bean type checking for endpoint handlers
...
Issue: SPR-13725
2015-11-25 21:26:03 +01:00
Stephane Nicoll
c90ca15add
Fix caching tests
...
Update assertion to validate the proper exception type is thrown.
2015-11-25 17:49:44 +01:00
Juergen Hoeller
24e4f56d7e
Test case for event listener methods on bean with potentially inactive scope
...
Also taking the opportunity to refine the "No Scope registered" exception message a bit.
Issue: SPR-13681
2015-11-25 16:56:39 +01:00
Juergen Hoeller
bb05bc7c01
EventListenerMethodProcessor leniently handles unresolvable bean types
...
Issue: SPR-13712
2015-11-25 15:40:38 +01:00
Juergen Hoeller
2a3bf69991
AsyncAnnotationBeanPostProcessor leniently handles ambiguous TaskExecutor beans
...
Issue: SPR-13720
2015-11-25 15:39:12 +01:00
Juergen Hoeller
d5ca5b74a5
DateTimeFormatterRegistrar supports Duration and Period as well
...
Issue: SPR-13721
2015-11-25 00:21:03 +01:00
Juergen Hoeller
20a286b4d6
ASM ClassWriter uses application ClassLoader for its getCommonSuperClass check
...
Issue: SPR-13695
2015-11-24 17:38:02 +01:00
Juergen Hoeller
3aefc96593
@ManagedOperationParameter declares @Target/@Retention/@Documented/@Repeatable now
...
This also turns @ManagedNotification into a repeatable annotation and consistently applies findAnnotation/getRepeatableAnnotations.
Issue: SPR-13700
2015-11-24 17:37:51 +01:00
Andy Clement
29303ef591
Allow MapAccessor to be compilable in SpEL expressions
...
With this change the MapAccessor now extends CompilablePropertyAccessor
rather than just PropertyAccessor. This means that any expression that
ends up using the MapAccessor is now compilable for fast performance.
Issue: SPR-13638
2015-11-23 09:25:57 -08:00
Juergen Hoeller
6d5c646faf
Empty lists declared with element type (for javac to accept it)
...
Issue: SPR-13680
2015-11-13 21:18:28 +01:00
Juergen Hoeller
3cb926e01c
Task list getters never return null now
...
Issue: SPR-13680
2015-11-13 20:26:44 +01:00
Juergen Hoeller
55d20557e0
Task list getters explicitly check for null now
...
Issue: SPR-13680
2015-11-13 14:25:28 +01:00
Juergen Hoeller
98be36a306
Extended default collection size for common per-bean caches
...
Issue: SPR-13621
2015-11-13 08:31:00 +01:00
Johnny Lim
2defb6555e
Fix broken Javadoc related to `<` and `>`
2015-11-12 11:22:08 +01:00
Juergen Hoeller
e56c11c1e8
AbstractApplicationContext.isRunning() avoids IllegalStateException
...
Issue: SPR-13667
2015-11-11 00:10:02 +01:00
Juergen Hoeller
cdf6eb95ab
Reduced warn log entry without stacktrace for startup exceptions
...
Issue: SPR-13663
2015-11-10 23:45:45 +01:00
Juergen Hoeller
760bc719f2
Polishing
2015-11-09 15:03:14 +01:00
Juergen Hoeller
d5efe4f983
Detect event listener methods behind interface proxies as well
...
Issue: SPR-13650
2015-11-09 15:00:03 +01:00
Stephane Nicoll
2a2a8d3f93
Allow null values to be cached with `@CacheResult`
...
Even though the JSR-107 spec forbids to store null values, our cache
abstraction allows that behaviour with a special handled (and this is
the default behaviour).
While this was working fine with our own set of annotations, the
JSR-107 interceptor counterpart was interpreting the spec sensu strictu.
We now allow for that special case as well.
Issue: SPR-13641
2015-11-09 13:04:40 +01:00
Juergen Hoeller
2ba5cb2734
Polishing
2015-11-05 12:30:29 +01:00
Juergen Hoeller
6cedaa1091
Fixed order determination check to only kick in for actual configuration candidates
...
Issue: SPR-13621
2015-11-05 12:30:18 +01:00
Juergen Hoeller
68308c047e
Explicit notes on programmatic Executor setup in @Bean methods
...
Issue: SPR-8131
2015-10-28 16:06:35 +01:00
Juergen Hoeller
8c4b8d253a
Auto-adapt reflective arguments in case of vararg array type mismatch
...
Issue: SPR-13328
2015-10-26 22:43:37 +01:00
Martin Macko
37735b35fc
Fix missing @EnableScheduling in documentation
...
Issue: SPR-10448
2015-10-22 20:06:30 +02:00
Juergen Hoeller
66177dfd8c
StreamUtils.emptyInput() for consistent empty InputStream exposure
...
Issue: SPR-13563
2015-10-12 22:25:40 +02:00
Juergen Hoeller
112781fb47
Reliable null value handling in ConcurrentMapCache, GuavaCache, JCacheCache
...
The 4.2 variant of this fix includes a common AbstractValueAdaptingCache base class and a common NullValue holder class.
Issue: SPR-13553
2015-10-09 22:55:18 +02:00
Juergen Hoeller
1d59c5fd41
StandardScriptEvaluator uses same eval exception exposure as ScriptTemplateView
...
Issue: SPR-13557
2015-10-09 22:55:01 +02:00
Juergen Hoeller
92dc51f6a8
Shutdown hook triggers doClose within startupShutdownMonitor
...
Issue: SPR-13556
2015-10-09 22:54:44 +02:00
Juergen Hoeller
af213a09ee
Polishing
2015-10-07 13:25:41 +02:00
Juergen Hoeller
dbec2121a0
EventListenerMethodProcessor does not validate target classes behind proxies anymore
...
Issue: SPR-13526
Issue: SPR-13538
2015-10-07 13:25:14 +02:00
Juergen Hoeller
427767f21e
Fixed event listener caching through equals/hashCode on SyntheticParameterizedType
...
Issue: SPR-13540
2015-10-06 00:05:51 +02:00
Juergen Hoeller
668f5db582
Consistent use of UTC for DateTime tests
...
Issue: SPR-13536
2015-10-05 21:31:56 +02:00
Sam Brannen
3845eb3cbc
Migrate Groovy tests to JUnit 4
...
Issue: SPR-13514
2015-09-28 21:19:53 +02:00
Sam Brannen
d5ee787e1e
Migrate JUnit 3 tests to JUnit 4
...
This commit migrates all remaining tests from JUnit 3 to JUnit 4, with
the exception of Spring's legacy JUnit 3.8 based testing framework that
is still in use in the spring-orm module.
Issue: SPR-13514
2015-09-27 21:17:51 +02:00
Juergen Hoeller
75f473927f
Polishing
2015-09-24 21:36:42 +02:00
Juergen Hoeller
75ea6f564c
Revised AbstractCacheManager for consistent locking when caches get added
...
Issue: SPR-13492
2015-09-24 16:42:10 +02:00
Juergen Hoeller
ebe128e940
Polishing
2015-09-24 00:33:14 +02:00
Juergen Hoeller
54d3d782a9
Polishing
2015-09-23 22:44:52 +02:00
Juergen Hoeller
a23629f60f
Context namespace exposes value-separator attribute for property-placeholder element
...
Issue: SPR-7794
2015-09-23 22:39:23 +02:00
Juergen Hoeller
c7fd4ccf48
StandardScriptUtils.retrieveEngineByName for lookup with descriptive exception message
...
Also revised StandardScriptFactory for finer-grained template methods, added further configuration variants to StandardScriptEvaluator, and identified thread-local ScriptEngine instances in ScriptTemplateView by appropriate key.
Issue: SPR-13491
Issue: SPR-13487
2015-09-23 22:37:35 +02:00
Sam Brannen
54703bf3f8
Introduce ignored, failing tests for SPR-13475
...
This commit introduces ignored, failing tests that demonstrate that the
@Cache* annotations are not yet supported as merged composed annotations.
Issue: SPR-13475
2015-09-23 00:27:14 -04:00
Sam Brannen
d66f85bd66
Polishing
2015-09-22 15:57:32 -04:00
Sam Brannen
6a30d04d1e
Ensure all 4.2 XSDs reference beans & tool XSDs from 4.2
2015-09-22 01:15:30 -04:00
Sam Brannen
c866c172ec
Polish spring-context-4.2.xsd
2015-09-22 01:13:36 -04:00
Juergen Hoeller
fbce18418a
Context namespace exposes null-value attribute for property-placeholder element
...
Issue: SPR-13461
2015-09-21 20:47:03 +02:00
Kamil Szymanski
6802504db0
Fix `@Configuration` javadoc typo
...
Closes gh-874
2015-09-18 06:39:57 -04:00
Juergen Hoeller
4dee9cbf62
ConcurrentMapCache.putIfAbsent properly supports nulls
...
Issue: SPR-13458
2015-09-10 14:02:18 +02:00
Sam Brannen
22e84a87f4
Polish proxy tests
2015-09-08 18:34:47 +02:00
Juergen Hoeller
a8432bc8a1
Tests for enum array with varargs (and related refinements)
...
Issue: SPR-13328
2015-09-08 11:13:23 +02:00
Juergen Hoeller
811de8e50b
AbstractApplicationContext allows for re-refresh and re-close
...
Issue: SPR-13425
2015-09-04 14:38:23 +02:00
Sam Brannen
93f3b9cbe0
Polish Javadoc for @EnableAsync
2015-09-02 19:08:56 +02:00
Juergen Hoeller
7118fcff0d
MethodValidationInterceptor falls back to invocation attempt with resolved bridge method (for Hibernate Validator 5.2 compatibility)
...
Issue: SPR-12237
2015-08-27 19:13:29 +02:00
Juergen Hoeller
e05fb494f5
Polishing
2015-08-26 11:04:14 +02:00
Juergen Hoeller
3430f7623c
Consistent detection of meta-annotation attributes via ASM
...
Issue: SPR-13394
2015-08-25 21:52:11 +02:00
Juergen Hoeller
c685fd7c23
Polishing
2015-08-21 17:03:53 +02:00
Juergen Hoeller
6d1b8b5a31
SpringWebConstraintValidatorFactory for use with validation.xml
...
Issue: SPR-13327
2015-08-21 17:02:55 +02:00
Stephane Nicoll
22948bd7f0
Add hook to create custom BeanPropertyBindingResult
...
Issue: SPR-13373
2015-08-20 19:50:37 +02:00
Sam Brannen
f47bbb0d9e
Polish tests
2015-08-12 19:35:45 +02:00
Juergen Hoeller
e0f012f32d
Removal of redundant JdkVersion checks in the test suite
...
Issue: SPR-13312
2015-08-12 18:42:36 +02:00
Juergen Hoeller
d8794a1edc
Test against EhCache 3.0 M2 (as a JCache provider)
...
Includes latest dependency updates (Jackson 2.6.1, Jetty 9.3.2, Undertow 1.2.10)
Issue: SPR-13342
2015-08-12 16:16:25 +02:00
Juergen Hoeller
9ef38807e6
Polishing
2015-07-30 19:34:33 +02:00
Juergen Hoeller
2c2bed2adb
ResourceBundleMessageSource checks containsKey before calling getString
...
Issue: SPR-13295
2015-07-30 19:34:12 +02:00
Sam Brannen
725292081e
Introduce 'value' alias for 'attribute' in @AliasFor
...
SPR-11512 introduced support for annotation attribute aliases via
@AliasFor, requiring the explicit declaration of the 'attribute'
attribute. However, for aliases within an annotation, this explicit
declaration is unnecessary.
This commit improves the readability of alias pairs declared within an
annotation by introducing a 'value' attribute in @AliasFor that is an
alias for the existing 'attribute' attribute. This allows annotations
such as @ContextConfiguration from the spring-test module to declare
aliases as follows.
public @interface ContextConfiguration {
@AliasFor("locations")
String[] value() default {};
@AliasFor("value")
String[] locations() default {};
// ...
}
Issue: SPR-13289
2015-07-29 15:27:06 +02:00
Juergen Hoeller
b74377932c
Deprecate native JRuby support
...
Issue: SPR-13283
2015-07-28 16:00:09 +02:00
Juergen Hoeller
d83735694e
Polishing
2015-07-28 12:15:48 +02:00
Juergen Hoeller
f0ac2784a4
Removed unused fields from ConfigurationClassBeanDefinitionReader
...
Issue: SPR-11740
Issue: SPR-13280
2015-07-28 12:08:54 +02:00
Sam Brannen
aae0bd2fb4
Update TODO for SPR-13280
2015-07-25 21:53:09 +02:00
Juergen Hoeller
efd7f9bf72
Polishing
2015-07-24 18:24:19 +02:00
Juergen Hoeller
edd6e76b9f
Polishing
2015-07-21 22:58:34 +02:00
Juergen Hoeller
1a636b1023
Polishing
2015-07-21 20:33:13 +02:00
Sam Brannen
0153913ef4
Polish and simplify EnableSchedulingTests
2015-07-20 14:55:48 +02:00
Juergen Hoeller
cad0665187
Fixed exception message expectation plus formatting
...
Issue: SPR-13236
2015-07-20 13:01:14 +02:00
Juergen Hoeller
c3e57dd245
AsyncAnnotationBeanPostProcessor tries to find TaskExecutor by type/name
...
Issue: SPR-13248
2015-07-17 18:55:46 +02:00
Juergen Hoeller
8e55ad1c08
Polishing
2015-07-17 16:33:15 +02:00
Juergen Hoeller
66d8c2819f
ScheduledAnnotationBeanPostProcessor falls back to "taskScheduler" bean by name
...
Issue: SPR-13236
2015-07-17 16:29:48 +02:00
Juergen Hoeller
9f15f347bf
Renamed 'name' attribute to 'scopeName' (in order to avoid common override conflicts)
...
Issue: SPR-13239
2015-07-17 15:23:47 +02:00
Juergen Hoeller
ef781b6353
Fixed default formatters test to reliably work with any system locale
...
Issue: SPR-13232
2015-07-15 02:18:04 +02:00
Juergen Hoeller
2934256257
Polishing
2015-07-15 00:08:11 +02:00
Juergen Hoeller
09eb492079
Merged bean definitions are now cached early and selectively evicted after post-processing and before actual bean creation
...
Issue: SPR-12236
2015-07-15 00:05:39 +02:00