Sam Brannen
279c56a385
Fix typo in JavaDoc
2017-04-03 16:43:55 +02:00
Sebastien Deleuze
e2fd398bad
Specify explicitly Kotlin extensions return type
...
The main purpose is to specify nullability.
2017-03-30 14:25:13 +02:00
Sam Brannen
7a01771a45
Polishing
2017-03-28 19:27:03 +02:00
Sam Brannen
0b11785852
Improve tests for PropertySourcesPlaceholderConfigurer
2017-03-28 19:26:45 +02:00
QBNemo
26101892c1
Fix typo
...
Closes gh-1354
2017-03-27 10:11:50 +02:00
Grant Hutchins
e087db1ecb
Fix typo
...
Closes gh-1364
2017-03-27 10:04:15 +02:00
Juergen Hoeller
e892e02f41
Polishing
2017-03-21 17:44:47 +01:00
Juergen Hoeller
fc2e635c05
Lookup methods work on configuration classes as well
...
Issue: SPR-15316
2017-03-07 13:51:43 +01:00
Juergen Hoeller
6d6cf01a42
Polishing
2017-02-28 13:13:23 +01:00
Juergen Hoeller
d003f6614b
Tests for annotation lookups in interfaces (currently ignored for CGLIB proxies)
...
Issue: SPR-15271
Issue: SPR-14949
Issue: SPR-14322
2017-02-28 13:11:15 +01:00
Juergen Hoeller
d4a1b59b4c
Skip transaction/caching metadata retrieval for java.lang.Object methods
...
Also retrieves CacheConfig as merged annotation now, aligned with other caching annotations.
Issue: SPR-15296
2017-02-28 13:08:55 +01:00
Juergen Hoeller
cbd19153c4
Polishing
2017-02-22 16:53:54 +01:00
Juergen Hoeller
f4de1ea147
Polishing
2017-02-22 15:32:19 +01:00
Juergen Hoeller
7fb0ad37da
ConfigurationClassEnhancer explicitly handles non-interceptable FactoryBeans
...
Issue: SPR-15275
2017-02-22 15:32:04 +01:00
Juergen Hoeller
370e3d683a
Polishing
2017-02-20 23:00:12 +01:00
Stephane Nicoll
73909f41cb
Polish
2017-02-20 16:29:05 +01:00
Stephane Nicoll
1c74a1a0fe
Improve allowNullValue handling when a null value is provided
...
This commit improves `AbstractValueAdaptingCache` to throw a dedicated
exception if `allowNullValues` is `false` and a `null` value is provided
anyway. This avoid a lower-level exception from the cache library that
will miss some context.
Issue: SPR-15173
2017-02-20 16:08:08 +01:00
Juergen Hoeller
1ee0626c94
Polishing
2017-02-17 21:06:58 +01:00
Juergen Hoeller
8d707eb530
Polishing
2017-02-16 15:37:31 +01:00
Juergen Hoeller
599c1ba73e
Polishing
2017-02-15 18:05:38 +01:00
Juergen Hoeller
54f01cffaf
Drop weaving support for pre-Servlet-3.1 servers
...
Issue: SPR-14467
2017-02-15 18:03:49 +01:00
Juergen Hoeller
44ec6e0037
Polishing
2017-02-13 15:07:07 +01:00
Juergen Hoeller
e1bb697cf9
Correct explanation of example patterns
...
Issue: SPR-15240
2017-02-10 10:56:17 +01:00
Juergen Hoeller
448ea4cdfe
Consistent logging in ignoreResourceNotFound scenarios
...
Issue: SPR-15218
2017-02-10 10:41:10 +01:00
Juergen Hoeller
5015613934
Enforce delegation through single overridable registerBean method
...
Issue: SPR-14832
2017-02-10 10:38:01 +01:00
Juergen Hoeller
1b2dc3638f
Revisit Assert to avoid single-arg assert methods (with refined messages)
...
Issue: SPR-15196
2017-01-30 22:15:55 +01:00
Stephane Nicoll
d550eb152c
Polish contribution
...
Closes gh-1307
2017-01-27 14:17:13 +01:00
Ruben Dijkstra
f1c7e0f5b2
Check for null on the argument instead of the message
...
See gh-1307
Issue: SPR-15196
2017-01-27 14:15:24 +01:00
Juergen Hoeller
5e946c2700
Consistent type variable resolution for arrays/collections (in particular at field level)
...
Dropping GenericCollectionTypeResolver in favor of direct ResolvableType usage.
Issue: SPR-15160
2017-01-24 18:00:17 +01:00
Juergen Hoeller
7d3fcaa934
Consider abstract classes with @Lookup methods as candidate components
...
Issue: SPR-14550
2017-01-23 17:28:18 +01:00
Juergen Hoeller
6fe7e56598
Document further configuration class restrictions
...
Issue: SPR-14602
2017-01-23 13:39:11 +01:00
Juergen Hoeller
253060c21c
Only expose ASM-driven method order if the methods match
...
Issue: SPR-14505
2017-01-23 13:37:22 +01:00
Juergen Hoeller
a9ae2c3402
Polishing
2017-01-23 12:42:01 +01:00
Juergen Hoeller
e566e25b6f
Clear nonAnnotatedClasses cache in afterSingletonsInstantiated
...
Issue: SPR-15175
2017-01-23 12:29:38 +01:00
Alexey Nikolaenko
644b0b8beb
Fix Javadoc for CronSequenceGenerator
...
Closes gh-1294
2017-01-20 17:26:49 +01:00
Juergen Hoeller
976d32fc59
SimpleApplicationEventMulticaster defensively swallows ClassCastException without message
...
Issue: SPR-15145
2017-01-17 20:37:20 +01:00
Juergen Hoeller
052014783a
Remove outdated BeanFactoryLocator documentation references
...
Issue: SPR-15154
2017-01-17 16:03:17 +01:00
Juergen Hoeller
ac6aa53031
Drop outdated BeanFactoryLocator / beanRefContext.xml mechanism
...
Issue: SPR-15154
2017-01-17 13:58:37 +01:00
Juergen Hoeller
d96738d613
Revised indexer implementation
...
Issue: SPR-11890
2017-01-17 12:59:42 +01:00
Juergen Hoeller
5471d6a465
Revised indexer implementation
...
Issue: SPR-11890
2017-01-17 12:46:55 +01:00
Juergen Hoeller
153fd82946
SimpleApplicationEventMulticaster defensively handles ClassCastException without message
...
Issue: SPR-15145
2017-01-16 15:35:18 +01:00
Juergen Hoeller
e19dff179e
Polishing
2017-01-12 21:18:01 +01:00
Juergen Hoeller
d0e93284f3
SpringValidatorAdapter properly handles HV-5-style list constraint violations
...
Issue: SPR-15082
2017-01-12 21:16:56 +01:00
Juergen Hoeller
b06423a5f8
AbstractMessageSource does not attempt to format code-as-default-message
...
Issue: SPR-15123
2017-01-12 21:16:48 +01:00
Sebastien Deleuze
0a988fd2b1
Remove object wrappers in Kotlin extensions
...
This commit also improve significantly Kotlin extensions
documentation.
Issue: SPR-15127
2017-01-11 08:52:01 +01:00
Sebastien Deleuze
8f14e29067
Support AnnotationConfigApplicationContext{} in Kotlin
...
Issue: SPR-15126
2017-01-10 22:47:33 +01:00
Sebastien Deleuze
f8461d856a
Support Gradle-style Kotlin bean API
...
val context = GenericApplicationContext {
registerBean<Foo>()
registerBean { Bar(it.getBean<Foo>()) }
}
Issue: SPR-15126
2017-01-10 21:43:27 +01:00
Mario Arias
1af905ca0a
Add Model and ModelMap Kotlin extensions
...
Issue: SPR-15119
2017-01-10 14:22:54 +01:00
Sebastien Deleuze
6ee5e2a817
Polishing
...
Issue: SPR-15118
2017-01-10 10:54:24 +01:00
Sebastien Deleuze
c5cfd8c8fc
Make the Kotlin bean registration API even more idiomatic
...
Put the lambda parameter at the end and use a function
instead of a supplier to be able to register beans like this:
val context = GenericApplicationContext()
context.registerBean(Foo::class)
context.registerBean{ Bar(it.getBean(Foo::class)) }
Issue: SPR-15118
2017-01-10 10:38:24 +01:00
Sebastien Deleuze
715274e327
Avoid the need to specify Supplier in Kotlin bean registration API
...
Based on an idea from Mario Arias, we can avoid requiring specifying
explicitly Supplier lambda type in Kotlin API by declaring the supplier
parameter as "crossinline supplier: () -> T" instead of
"supplier: Supplier<T>".
Issue: SPR-15118
2017-01-09 20:22:30 +01:00
Juergen Hoeller
fc629bb508
Polishing
2016-12-29 22:39:36 +01:00
Juergen Hoeller
a5c6658d2c
Track bean dependencies for calls between @Bean methods within @Configuration classes
...
Issue: SPR-15069
2016-12-29 22:38:00 +01:00
Juergen Hoeller
edc62be231
@Scheduled reliably applies after other post-processors and shuts down before TaskScheduler
...
Issue: SPR-14692
Issue: SPR-15067
2016-12-29 22:35:10 +01:00
Juergen Hoeller
209e7a700d
Avoid FactoryBean initialization on isSingleton check for decorated bean definition
...
Issue: SPR-14892
Issue: SPR-15042
2016-12-28 17:27:06 +01:00
Juergen Hoeller
9c62b1eaf7
Polishing
2016-12-28 17:22:18 +01:00
Sebastien Deleuze
58e113a591
Avoid NPE in AutoProxyRegistrar when no attribute found
...
Issue: SPR-15055
2016-12-27 16:37:01 +01:00
Juergen Hoeller
7818c650ba
Cache ASM metadata at the context level (if supported)
...
Includes streamlined ClassPathBeanDefinitionScanner setup.
Issue: SPR-14654
2016-12-27 13:38:24 +01:00
Sebastien Deleuze
6a850ee688
Polishing
2016-12-27 10:08:12 +01:00
Juergen Hoeller
bb94ba6e3f
DateFormatter's ISO patterns use XXX timezone notation (as per SimpleDateFormat's javadoc)
...
Issue: SPR-14675
2016-12-26 22:31:27 +01:00
Sebastien Deleuze
ff675f5226
Add Kotlin extensions for bean registration and retrieval
...
Issue: SPR-15048
2016-12-26 14:21:10 +01:00
Juergen Hoeller
a8741dd371
Polishing
2016-12-26 11:26:58 +01:00
Juergen Hoeller
f805427629
Detect generic type match behind interface-based proxy as well
...
Issue: SPR-14097
2016-12-26 11:23:07 +01:00
Juergen Hoeller
0208198804
Expose reflection metadata with ASM-driven method order
...
Issue: SPR-14505
2016-12-26 11:00:22 +01:00
Juergen Hoeller
ef5c797569
Polishing
2016-12-23 21:23:30 +01:00
Juergen Hoeller
3295a4e6ef
ConfigurationClassParser enforces @Bean declaration order through ASM metadata
...
Issue: SPR-14505
2016-12-23 20:29:12 +01:00
Juergen Hoeller
f51fe5fd39
Polishing
2016-12-23 12:27:07 +01:00
Juergen Hoeller
e788b8467d
GenericApplicationContext offers Supplier-based registration with BeanDefinitionCustomizer callback
...
Issue: SPR-14832
2016-12-23 12:26:47 +01:00
Juergen Hoeller
154ef8bf10
Polishing
2016-12-20 19:57:52 +01:00
Juergen Hoeller
9005481a49
Supplier registration support for annotated bean classes
...
Issue: SPR-14832
2016-12-20 19:57:44 +01:00
Juergen Hoeller
f6b2a21206
ConfigurationClassPostProcessor programmatically registers unified ImportAwareBeanPostProcessor
...
Issue: SPR-14931
2016-12-20 12:16:16 +01:00
Juergen Hoeller
9c55d22f78
MBeanExporter silently ignores null beans
...
Issue: SPR-15031
2016-12-19 16:02:59 +01:00
Juergen Hoeller
7867e56494
Polishing
2016-12-19 02:00:28 +01:00
Juergen Hoeller
3ee6286eb5
Support for functional instance supplier callback at BeanDefinition level
...
Issue: SPR-14832
2016-12-18 21:05:45 +01:00
Juergen Hoeller
4c005e6336
ResolvableType-based matching respects generic factory method return type
...
Includes consistent use of ResolvableType.resolve() wherever applicable.
Issue: SPR-15011
2016-12-17 23:10:48 +01:00
Juergen Hoeller
23f0418337
LocaleContextHolder provides support for framework-level default settings
...
Issue: SPR-15017
2016-12-15 15:43:40 +01:00
Juergen Hoeller
58eccfe5bd
Remove setExtractOldValueForEditor at DataBinder level (to be deprecated in 4.3.5)
...
Issue: SPR-15009
2016-12-14 22:00:05 +01:00
Kazuki Shimizu
9f229283fb
Support lazy initialization of BindingResult when customize a MessageCodesResolver
...
Issue: SPR-15009
2016-12-14 00:50:25 +09:00
Juergen Hoeller
547b9638dc
Collection injection may refer back to factory methods on same bean again
...
Issue: SPR-14996
2016-12-09 23:09:10 +01:00
Juergen Hoeller
a7ec6dc0af
ImportRegistry properly tracks excluded superclasses
...
Issue: SPR-14972
2016-12-09 15:01:21 +01:00
Juergen Hoeller
313c89dd5c
Overloaded methods with java.time.Instant/Duration parameters
...
Issue: SPR-14875
2016-12-08 18:34:00 +01:00
Juergen Hoeller
845dbf040d
Test injection point match for narrow target return type
...
Issue: SPR-14960
2016-11-30 23:47:32 +01:00
Juergen Hoeller
1ae17c27df
Efficient ISO_LOCAL_* variants for printing LocalDate/LocalTime/LocalDateTime
...
Issue: SPR-14958
2016-11-30 23:41:00 +01:00
Juergen Hoeller
f6b8b84df9
Efficient type plus annotation comparisons during converter retrieval
...
Issue: SPR-14926
Issue: SPR-12926
2016-11-30 22:22:44 +01:00
Juergen Hoeller
10d5926b1a
Direct use of Bean Definition 1.1 ExecutableValidator
...
Issue: SPR-13481
2016-11-29 18:09:13 +01:00
Juergen Hoeller
f065589a37
Avoid defensive casts against Java 8 default methods
...
Issue: SPR-13188
2016-11-29 18:07:46 +01:00
Juergen Hoeller
b22a59a0c4
Polishing
2016-11-24 15:32:06 +01:00
Juergen Hoeller
1f4c6de287
Polishing
2016-11-23 21:10:01 +01:00
Juergen Hoeller
9bf4d7cf4e
Polishing
2016-11-22 14:57:00 +01:00
Juergen Hoeller
85b0ce1ef7
Avoid defensive checks against java.time API
...
Issue: SPR-13188
2016-11-22 14:55:03 +01:00
Juergen Hoeller
da63898d5f
Polishing
2016-11-21 17:36:04 +01:00
Juergen Hoeller
dc8cd4e4c0
Polishing
...
Issue: SPR-14888
2016-11-08 17:26:59 +01:00
Kazuki Shimizu
124f2128fa
Detect invalid configuration for autoGrowCollectionLimit on DataBinder
...
Issue: SPR-14888
2016-11-09 01:00:27 +09:00
Juergen Hoeller
b3cd1ad7f1
Refined throwing of BeanCreationExceptions (and reflection exceptions)
...
Issue: SPR-14883
2016-11-07 19:03:18 +01:00
Rossen Stoyanchev
816e32872a
Reactive support for @ModelAttribute argument
...
Issue: SPR-14542
2016-11-07 15:02:13 +02:00
Rossen Stoyanchev
3230ca6d39
Add ConcurrentModel
...
This commit adds a Model implementation based on ConcurrentHashMap for
use in Spring Web Reactive.
Issue: SPR-14542
2016-11-07 15:02:13 +02:00
Juergen Hoeller
7f4904ed22
Avoid deprecated Mockito methods
...
Issue: SPR-14880
2016-11-04 20:39:53 +01:00
Juergen Hoeller
8df45dd274
@Async docs explicitly mention ListenableFuture and CompletableFuture
...
Issue: SPR-14881
2016-11-04 12:54:24 +01:00
Juergen Hoeller
ac774cdcef
Avoid deprecated Mockito methods
...
Issue: SPR-14880
2016-11-04 12:24:46 +01:00
Juergen Hoeller
8ae0bd6ea9
ApplicationListenerDetector ignores non-managed bean instances
...
Issue: SPR-14879
2016-11-03 22:52:43 +01:00
Juergen Hoeller
8053fefea8
Consistent support for early placeholder resolution in properties locations
...
Issue: SPR-10502
2016-11-03 14:33:48 +01:00
Juergen Hoeller
03468fd9ed
ReloadableResourceBundleMessageSource sets file timestamp on merged holder
...
Issue: SPR-14583
2016-11-03 14:27:44 +01:00
Juergen Hoeller
b07d40cc44
Polishing
...
(cherry picked from commit 77e00f1
)
2016-10-31 20:56:00 +01:00
Juergen Hoeller
ac80ac6f8b
Consistent instanceof/casting of Class references
2016-10-30 21:40:27 +01:00
Juergen Hoeller
2f9ed5917b
Polishing
2016-10-28 23:49:21 +02:00
Juergen Hoeller
dc080cb1be
Revised NoSuchBeanDefinitionException message and ResolvableType handling
...
Includes consistent quoting of qualified type names in related classes.
Issue: SPR-14831
2016-10-28 23:39:05 +02:00
Juergen Hoeller
c946924431
ApplicationListener detection for inner beans behind post-processors
...
Issue: SPR-14783
2016-10-28 23:35:56 +02:00
Juergen Hoeller
bf9083d60f
TypeDescriptor supports merged annotation lookups (for composable formatting annotations)
...
Issue: SPR-14844
2016-10-28 23:33:26 +02:00
Juergen Hoeller
08972eff9b
Local merged annotation lookup in SpringCacheAnnotationParser
...
Issue: SPR-14781
Issue: SPR-14801
2016-10-28 23:32:55 +02:00
Juergen Hoeller
13001b9aff
SimpleApplicationEventMulticaster just swallows event downcast exceptions
...
Issue: SPR-14846
2016-10-28 15:25:22 +02:00
Stephane Nicoll
56c48623fd
Allow @Cacheable method to return Optional
...
This commit further refines 240f254
to also support java.util.Optional
for synchronized cache access (i.e. when the `sync` attribute on
`@Cacheable` is set to `true`).
Issue: SPR-14853
2016-10-27 09:47:15 +02:00
Stephane Nicoll
ffa728c23c
Move NoOpCache to a top-level public class
...
This commit moves `NoOpCache` to a top-level public class to allow reuse
in custom CacheManager arrangement.
Issue: SPR-14856
2016-10-27 09:06:32 +02:00
Stephane Nicoll
1f3b8ff2f7
LiveBeansView does not rely on application contexts order anymore
...
This commit makes sure that the `unregister` order of registered
application contexts has no incidence on the removal of the LiveBeansView
MBean.
Rather than using the last application context's name to compute the
identity of the MBean to remove, the identity is stored when the MBean is
created.
This commit also adds missing tests.
Issue: SPR-14848
2016-10-26 15:03:14 +02:00
Stephane Nicoll
19db0424d2
Clarify SpEL usage on `@EventListener`
...
Issue: SPR-14812
2016-10-25 17:45:12 +02:00
Juergen Hoeller
3726c6f18d
Polishing
2016-10-21 12:26:27 +02:00
Juergen Hoeller
f7d740fa69
ConversionService detects generic type declaration on target class behind proxy as well
...
Issue: SPR-14822
2016-10-21 12:24:12 +02:00
Stephane Nicoll
fc8bad36c9
Fix formatting
...
Closes gh-1206
2016-10-15 11:55:07 +03:00
Philippe Marschall
ae5b0c6fb5
Replace J2EE with Java EE
...
String with version 5 the name of Java Platform, Enterprise Edition
changed from J2EE to Java EE. However a lot of the documentation still
uses the term J2EE.
This commit includes the following changes:
* replace J2EE with Java EE where appropriate
This is not a blind search and replace. The following occurrences
remain unchanged:
* references to old J2EE releases, most notably 1.3 and 1.4.
* references to "Expert One-On-One J2EE Design and Development"
* references to "Core J2EE patterns"
* XML namespaces
* package names
Issue: SPR-14811
See gh-1206
2016-10-15 11:49:00 +03:00
Juergen Hoeller
eafaaa5cb8
Polishing
2016-10-12 17:11:04 +02:00
Juergen Hoeller
a32b52555a
@Primary not marked as inherited anymore
...
Issue: SPR-14780
2016-10-12 17:10:29 +02:00
Juergen Hoeller
74b6a5b6d7
BindingResult does not hold on to ConversionService when serialized in session
...
Issue: SPR-8282
2016-10-12 17:08:55 +02:00
Stephane Nicoll
ab232a5386
Polish EnableAsync javadoc
...
Issue: SPR-14793
2016-10-11 08:21:52 +02:00
Juergen Hoeller
ebed7b77c3
SpringValidatorAdapter declares ResolvableAttribute as serializable
...
Issue: SPR-14778
2016-10-05 21:54:56 +02:00
Juergen Hoeller
fb7ae010c8
Avoid unnecessary generics on emptyMap/Set/List
2016-09-26 18:04:49 +02:00
Juergen Hoeller
bf6653b837
Adapted to 4.3.3 backport
...
Issue: SPR-14728
2016-09-18 21:33:58 +02:00
Sam Brannen
8f62b63663
Introduce 'value' alias for @Bean's 'name' attribute
...
In order to simplify configuration for use cases involving @Bean where
only a bean name or aliases are supplied as an attribute, this commit
introduces a new 'value' attribute that is an @AliasFor 'name' in @Bean.
Issue: SPR-14728
2016-09-17 16:16:06 +02:00
Juergen Hoeller
ce42ed4d44
Polishing
2016-09-13 21:58:41 +02:00
Juergen Hoeller
c69e6a36f7
Revised IllegalArgumentException handling for Formatter parse calls
...
Issue: SPR-14661
2016-09-13 21:55:20 +02:00
Juergen Hoeller
0c2e8a6246
Consistent callbacks for TypeFilters, ImportSelectors and ImportBeanDefinitionRegistrars
...
Issue: SPR-14686
2016-09-13 21:49:24 +02:00
Juergen Hoeller
5405c07d26
Configuration class processing uses MetadataReaderFactory for current ResourceLoader
...
Issue: SPR-14684
2016-09-13 21:47:32 +02:00
Juergen Hoeller
480cd2c2f0
IdentityHashMap for scheduled tasks (avoiding hashCode calls on bean instances)
...
Issue: SPR-14666
2016-09-13 21:44:29 +02:00
Juergen Hoeller
a86f6d3676
ApplicationEventPublisher as functional interface
...
Issue: SPR-14699
2016-09-13 21:42:23 +02:00
Juergen Hoeller
118d093eaf
Drop defensive Joda-Time 2.x check
2016-09-13 21:37:44 +02:00
Juergen Hoeller
d5c9cc62f1
Correct ISO DateTime example
...
Issue: SPR-14675
2016-09-13 21:36:41 +02:00
Stephane Nicoll
dcade06fa0
Support for candidate components index
...
This commit adds a "spring-context-indexer" module that can be added to
any project in order to generate an index of candidate components defined
in the project.
`CandidateComponentsIndexer` is a standard annotation processor that
looks for source files with target annotations (typically `@Component`)
and references them in a `META-INF/spring.components` generated file.
Each entry in the index is the fully qualified name of a candidate
component and the comma-separated list of stereotypes that apply to that
candidate. A typical example of a stereotype is `@Component`. If a
project has a `com.example.FooService` annotated with `@Component` the
following `META-INF/spring.components` file is generated at compile time:
```
com.example.FooService=org.springframework.stereotype.Component
```
A new `@Indexed` annotation can be added on any annotation to instructs
the scanner to include a source file that contains that annotation. For
instance, `@Component` is meta-annotated with `@Indexed` now and adding
`@Indexed` to more annotation types will transparently improve the index
with additional information. This also works for interaces or parent
classes: adding `@Indexed` on a `Repository` base interface means that
the indexed can be queried for its implementation by using the fully
qualified name of the `Repository` interface.
The indexer also adds any class or interface that has a type-level
annotation from the `javax` package. This includes obviously JPA
(`@Entity` and related) but also CDI (`@Named`, `@ManagedBean`) and
servlet annotations (i.e. `@WebFilter`). These are meant to handle
cases where a component needs to identify candidates and use classpath
scanning currently.
If a `package-info.java` file exists, the package is registered using
a "package-info" stereotype.
Such files can later be reused by the `ApplicationContext` to avoid
using component scan. A global `CandidateComponentsIndex` can be easily
loaded from the current classpath using `CandidateComponentsIndexLoader`.
The core framework uses such infrastructure in two areas: to retrieve
the candidate `@Component`s and to build a default `PersistenceUnitInfo`.
Rather than scanning the classpath and using ASM to identify candidates,
the index is used if present.
As long as the include filters refer to an annotation that is directly
annotated with `@Indexed` or an assignable type that is directly
annotated with `@Indexed`, the index can be used since a dedicated entry
wil be present for that type. If any other unsupported include filter is
specified, we fallback on classpath scanning.
In case the index is incomplete or cannot be used, The
`spring.index.ignore` system property can be set to `true` or,
alternatively, in a "spring.properties" at the root of the classpath.
Issue: SPR-11890
2016-09-01 15:30:47 +02:00
Juergen Hoeller
4ef428de28
Polishing
2016-08-30 23:57:11 +02:00
Juergen Hoeller
58fa63fdd1
ApplicationListenerMethodAdapter resolves order on construction
...
Issue: SPR-14642
2016-08-30 20:50:02 +02:00
Sam Brannen
d6d05e8ca0
Remove trailing whitespace in Java source code
2016-08-29 15:25:10 +02:00
Juergen Hoeller
57cb7c7e0a
LiveBeansView exposes aliases as well
...
Issue: SPR-14632
2016-08-26 20:04:23 +02:00
Juergen Hoeller
405e74b6ae
GenericApplicationContext picks up ClassLoader from custom ResourceLoader
...
Issue: SPR-14626
2016-08-24 21:23:57 +02:00
Juergen Hoeller
ab0d523cc0
Polishing
...
(cherry picked from commit 1932a9d
)
2016-08-17 21:54:40 +02:00
Juergen Hoeller
6a0d9d3d97
Consistent support for CompilationCustomizers as well as custom CompilerConfiguration
...
Issue: SPR-14585
2016-08-17 11:29:49 +02:00
Juergen Hoeller
a1b167a988
Polishing
2016-08-17 00:53:38 +02:00
Juergen Hoeller
433764d217
GroovyScriptFactory supports CompilationCustomizer next to GroovyObjectCustomizer
...
Issue: SPR-14585
2016-08-17 00:47:50 +02:00
Juergen Hoeller
214c919742
AspectJ bean pointcut supports qualifier match
...
Issue: SPR-11217
2016-08-17 00:43:41 +02:00
Stephane Nicoll
0d59a15849
Better document #result semantic
...
Commit 240f254
has introduced support for `java.util.Optional` in the
cache abstraction. If such type is present, the contained value is cached
if it is present.
This new feature slightly changed the semantic of `#result` that was
documented up till this commit as the "return value of the method
invocation". This is no longer true as `#result` for `Optional<T>`
refers to the `T` instance and not the `Optional` instance.
This commit clarifies both the javadoc and the documentation.
Issue: SPR-14587
2016-08-16 13:45:10 +02:00
Igor Mukhin
3f0b458616
Add aditional example to CronSequenceGenerator
...
CronSequenceGenerator supports comma separated expressions but does not
provide an example for it. This commit adds such an example.
Closes gh-1132
2016-08-16 11:41:37 +02:00
Juergen Hoeller
59a24b406a
Polishing
2016-08-10 14:20:42 +02:00
Juergen Hoeller
fae503d568
MethodBasedEvaluationContext reliably exposes varargs
...
Issue: SPR-14554
2016-08-09 21:24:38 +02:00
Stephane Nicoll
8aadb8d193
Polish Javadoc
...
Issue: SPR-14552
2016-08-06 17:15:36 +02:00
Juergen Hoeller
d96a66ae8f
ConfigurationClassParser uses unified ImportStack with chained import analysis
...
Issue: SPR-14517
2016-07-28 00:06:13 +02:00
Juergen Hoeller
328e04f167
JndiPropertySource defensively skips invalid JNDI lookup for property name with colon in resource-ref mode
...
Issue: SPR-14518
2016-07-27 22:37:25 +02:00
Juergen Hoeller
5db449556b
Polishing
2016-07-27 16:21:55 +02:00
Juergen Hoeller
316244d2bd
Isolated circular import detection for scanned configuration classes
...
Issue: SPR-14517
2016-07-27 16:21:48 +02:00
Juergen Hoeller
b9ab895743
Inferred generics for newSetFromMap arrangements
...
Issue: SPR-13188
2016-07-26 21:26:31 +02:00
Juergen Hoeller
e03dea1d64
Polishing
2016-07-26 17:15:19 +02:00
Juergen Hoeller
75fc0f8538
Framework build compatible with JDK 9 (even with -target 1.9)
...
Issue: SPR-13344
2016-07-25 23:26:09 +02:00
Juergen Hoeller
9f2cb3e276
Keep deprecated addCache method (e.g. for Spring Data Redis)
...
Issue: SPR-14430
2016-07-25 17:47:11 +02:00
Juergen Hoeller
4a85309a04
Consistent throwing of BeanNotOfRequiredTypeException even for existing proxy
...
Issue: SPR-14504
2016-07-24 15:31:00 +02:00
Juergen Hoeller
0e3f0bd9d0
Avoid JDK proxy against CGLIB Factory interface and assert required type when resolving dependency
...
Issue: SPR-14478
2016-07-20 18:05:51 +02:00
Juergen Hoeller
a4743c07d4
Polishing
2016-07-19 20:09:00 +02:00
Juergen Hoeller
88fcd0a2ed
Framework build compatible with JDK 9 (tests running against java.base module)
...
Issue: SPR-13344
2016-07-19 19:37:34 +02:00
Juergen Hoeller
d07381e862
Avoid deprecated number constructors on JDK 9
...
Issue: SPR-13344
2016-07-19 19:25:55 +02:00
Juergen Hoeller
aaac199e8b
Consistently use constructor-based instantiation instead of Class.newInstance / BeanUtils.instantiate
...
Issue: SPR-14486
2016-07-19 19:21:06 +02:00
Juergen Hoeller
dc1664939c
Javadoc fixes and pruning of outdated references
2016-07-15 22:12:11 +02:00
Juergen Hoeller
a0df71e76a
ConfigurationClassParser load annotations through source class loader
...
Issue: SPR-10343
(cherry picked from commit 9e93403
)
2016-07-15 17:17:25 +02:00
Juergen Hoeller
3d3407c789
Consistent alias processing behind AnnotatedTypeMetadata abstraction (also for ASM)
...
Issue: SPR-14427
2016-07-15 13:59:25 +02:00
Juergen Hoeller
e431624e84
CronSequenceGenerator prevents stack overflow in case of inverted range
...
Issue: SPR-14462
2016-07-14 21:11:28 +02:00
Stephane Nicoll
ff738e7670
Polish contribution
...
Closes gh-1070
2016-07-14 11:12:06 +02:00
spodgurskiy
f075aac7f9
Fix MethodBasedEvaluationContext.lazyLoadArguments
...
This commit fix a potential `ArrayIndexOutOfBoundsException` if
`lazyLoadArguments` is called with an empty variable argument.
See gh-1070
2016-07-14 10:58:21 +02:00
Stephane Nicoll
11ed26584d
Polish
2016-07-11 10:50:44 +02:00
Stephane Nicoll
15c3cdd48d
Fix NoOpCache handling of get(key,callable)
...
This commit fixes the method that takes a Callable to actually always
invoke it rather than returning null.
Issue: SPR-14445
2016-07-11 10:34:27 +02:00
Juergen Hoeller
c43e7497c1
Fixed typo: "occured"->"occurred"
2016-07-08 15:12:16 +02:00
Stephane Nicoll
2bf9bc312e
Remove Guava cache support
...
This commit removes `GuavaCache` and support classes. Caffeine supersedes
the caching support in the Google Guava library with an actively maintained
Java 8+ version in standalone form.
As it is the only Guava feature Spring framework integrates with, this
commit removes effectively any reference to Guava.
Issue: SPR-13797
2016-07-08 10:57:05 +02:00
Juergen Hoeller
6aa5931e28
Polishing
2016-07-07 01:05:25 +02:00
Juergen Hoeller
a1f5fb53db
Java 8 getParameterCount() instead of getParameterTypes().length
...
Issue: SPR-13188
2016-07-07 01:04:24 +02:00
Juergen Hoeller
102dc8a4dd
Polishing
2016-07-06 15:29:15 +02:00
Stephane Nicoll
e4b0486c5a
Add @FunctionalInterface on candidate interfaces
...
Issue: SPR-14432
2016-07-06 14:32:13 +02:00
Juergen Hoeller
bc2c22d51e
Streamline XML namespace support towards unversioned schemas
...
This commit also removes support code for outdated options which were only available in older schema versions.
Issue: SPR-13499
2016-07-05 20:50:03 +02:00
Juergen Hoeller
acdb43f470
Remove remaining JRuby and Commons Pool test resources
...
Issue: SPR-14429
2016-07-05 20:47:39 +02:00
Sam Brannen
1391248ea6
Introduce log4j 2 for Spring's test suite
...
This commit adds a test runtime dependency on log4j 2 for every project
and migrates all log4j.properties files to log4j2-test.xml files.
Issue: SPR-14431
2016-07-05 19:19:09 +02:00
Stephane Nicoll
00d2606b00
Explicit type can be replaced by <>
...
Issue: SPR-13188
2016-07-05 17:00:34 +02:00
Stephane Nicoll
3096888c7d
Better synchronization in ConcurrentMapCache
...
Issue: SPR-13810
2016-07-05 16:44:07 +02:00
Juergen Hoeller
b5db5d3aac
Broadly remove deprecated core classes and methods
...
Issue: SPR-14430
2016-07-05 15:52:49 +02:00
Juergen Hoeller
0fc0ce78ae
Drop deprecated dependencies on Log4j, JRuby, JExcel, Burlap, Commons Pool/DBCP
...
This commit also removes outdated support classes for Oracle, GlassFish, JBoss.
Issue: SPR-14429
2016-07-05 15:46:53 +02:00
Juergen Hoeller
51252ebbca
Avoid defensive checks against Java 8 API (java.util.Optional etc)
...
This commit also fixes broken javadoc links and code references.
Issue: SPR-13188
2016-07-05 02:09:00 +02:00
Juergen Hoeller
54004e0d78
Upgrade to JPA 2.1+ and Bean Validation 1.1+; remove native support for Hibernate 3.6 and 4.x
...
Issue: SPR-13481
Issue: SPR-13827
2016-07-04 23:37:23 +02:00
Juergen Hoeller
2b3445df81
Drop Portlet MVC support
...
This commit also removes the corresponding deprecated Servlet MVC variant and updates DispatcherServlet.properties to point to RequestMappingHandlerMapping/Adapter by default.
Issue: SPR-14129
2016-07-04 23:33:47 +02:00
Juergen Hoeller
0900808820
Method-level @SuppressWarnings("unchecked") for generic varargs
2016-07-04 23:20:41 +02:00
Stephane Nicoll
037746da44
Polish
...
Closes gh-1097
2016-07-01 14:26:48 +02:00
Stephane Nicoll
d9993243b6
Polish
...
Closes gh-1096
2016-07-01 10:43:54 +02:00
Juergen Hoeller
66ec1c1618
Add missing package-info files for common packages
...
Issue: SPR-14420
2016-06-30 21:39:06 +02:00
Juergen Hoeller
e15f7efff8
InjectionPoint propagated for shortcut bean name resolution as well
...
Issue: SPR-14400
2016-06-26 00:18:54 +02:00
Juergen Hoeller
a2aa82eb31
Polishing
2016-06-22 11:55:33 +02:00
Juergen Hoeller
981d4494c6
AspectJWeavingEnabler registered with well-defined bean name (and therefore once only)
...
Issue: SPR-14373
2016-06-22 11:55:24 +02:00
Juergen Hoeller
8cb9d5ebae
EnableAspectJAutoProxy features exposeProxy flag (analogous to XML namespace)
...
Issue: SPR-10454
2016-06-20 13:50:04 +02:00
Stephane Nicoll
d41178c75a
Polish contribution
...
Closes gh-1080
2016-06-16 12:12:42 +02:00
nkjackzhang
9656015d26
Fix typo in javadoc
...
See gh-1080
2016-06-16 12:11:14 +02:00
Juergen Hoeller
d51c22a789
Consistent processing of empty values and catching of RuntimeExceptions for Formatters
...
Issue: SPR-14345
2016-06-09 10:49:15 +02:00
Juergen Hoeller
c6f63bdb30
Assertions for error codes in case of formatting failures
...
Issue: SPR-14345
2016-06-08 15:54:00 +02:00
Juergen Hoeller
8c4bc3656b
Polishing
2016-06-07 15:42:16 +02:00
Juergen Hoeller
f657952cee
EventListenerMethodProcessor defensively handles unresolvable method signatures
...
Issue: SPR-14330
2016-06-04 00:15:52 +02:00
Juergen Hoeller
ae11387b4a
Removal of @Ignore'd tests
...
Issue: SPR-6310
Issue: SPR-6327
2016-06-02 11:47:22 +02:00
Juergen Hoeller
3576ff051c
ScheduledAnnotationBeanPostProcessor properly registers multiple tasks per bean
...
Issue: SPR-14286
2016-05-30 22:47:31 +02:00
Juergen Hoeller
24f5f368b0
Consistent meta-annotation attributes lookup through ASM
...
Issue: SPR-14257
2016-05-30 22:39:27 +02:00
Juergen Hoeller
86557f25af
ConcurrentMapCacheManager recreates caches when initializing ClassLoader
...
Issue: SPR-14314
2016-05-30 17:13:45 +02:00
Juergen Hoeller
98eaf05c8f
@Bean's "autowire" attribute does not affect annotation-driven autowiring
...
Issue: SPR-14282
2016-05-29 13:19:09 +02:00
Juergen Hoeller
03affa02db
ConfigurationClassParser detects @Bean methods in interface hierarchies as well
...
Issue: SPR-14288
2016-05-27 22:34:09 +02:00
Stefan Ferstl
d651ebfd2d
Fix CacheManager example in Javadoc
...
Closes gh-1052
2016-05-12 15:23:40 +02:00
Stephane Nicoll
66bab2a9fc
Revert "Manage asynchronous EventListener with replies"
...
This reverts commit bee1b77af5
.
2016-05-06 13:38:03 +02:00
Juergen Hoeller
1b1aac9172
Unit tests for AsyncResult callback behavior
...
Issue: SPR-14249
2016-05-05 20:40:30 +02:00
Juergen Hoeller
7dc181261e
Polishing
2016-05-05 20:35:34 +02:00
Sam Brannen
a1a87679da
Support test annotations on interfaces
...
Prior to Java 8 it never really made much sense to author integration
tests using interfaces. Consequently, the Spring TestContext Framework
has never supported finding test-related annotations on interfaces in
its search algorithms.
However, Java 8's support for interface default methods introduces new
testing use cases for which it makes sense to declare test
configuration (e.g., @ContextConfiguration, etc.) on an interface
containing default methods instead of on an abstract base class.
This commit ensures that all non-repeatable, class-level test
annotations in the Spring TestContext Framework can now be declared on
test interfaces. The only test annotations that cannot be declared on
interfaces are therefore @Sql and @SqlGroup.
Issue: SPR-14184
2016-05-05 19:54:44 +02:00
Juergen Hoeller
ab478d14fa
ScheduledAnnotationBeanPostProcessor tracks individual bean instances of any scope
...
Issue: SPR-12216
Issue: SPR-12872
2016-05-04 17:06:08 +02:00
Juergen Hoeller
162aedccbe
Polishing
2016-05-04 17:02:16 +02:00
Sam Brannen
7b13311f03
Delete unused imports
2016-05-03 20:12:37 +02:00
Juergen Hoeller
7737c3c7e5
Warn about non-static BeanDefinitionRegistryPostProcessor declarations on @Configuration classes
...
Issue: SPR-14234
2016-05-02 15:19:05 +02:00
Juergen Hoeller
fdb31cd715
Check actual cache value for unwrapped Optional
...
Issue: SPR-14230
2016-04-29 10:56:26 +02:00
Juergen Hoeller
240f254bfc
Allow @Cacheable method to return java.util.Optional variant of cached value
...
Includes renaming of internal delegate to CacheOperationExpressionEvaluator.
Issue: SPR-14230
2016-04-28 23:16:43 +02:00
Juergen Hoeller
9412f7a094
InstantFormatter accepts RFC-1123 values as well
...
Issue: SPR-14201
2016-04-28 14:35:33 +02:00
Juergen Hoeller
e0734aede8
ApplicationListenerDetector explicitly prevents serialization of its ApplicationContext reference
...
Issue: SPR-14214
2016-04-27 21:30:46 +02:00
Juergen Hoeller
b331ad5b2a
Explicit note on scheduled methods with a return value
...
Issue: SPR-14195
2016-04-27 15:45:30 +02:00
Sam Brannen
4a4cd5bde8
Polish CronSequenceGenerator and tests
2016-04-23 18:05:54 +02:00
Ruslan Sibgatullin
31d634e6bf
Added cron expression validation method for CronSequenceGenerator
...
It's handy to know in advance whether or not expression that is
passed to CronSequenceGenerator or CronTrigger constructor would
not results in IllegalArgumentException. The only way to do it
now is to try\catch an instance creation but it's kinda ugly.
2016-04-23 17:56:29 +03:00
Johnny Lim
44e652f99e
Remove duplicate words
...
Closes gh-1039
2016-04-19 08:24:21 +02:00
Stephane Nicoll
bee1b77af5
Manage asynchronous EventListener with replies
...
This commit makes sure to reject an `@EventListener` annotated method
that also uses `@Async`. In such scenario, the method is invoked in a
separate thread and the infrastructure has no handle on the actual reply,
if any.
The documentation has been improved to refer to that scenario.
Issue: SPR-14113
2016-04-15 13:22:11 +02:00
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