Commit Graph

1568 Commits

Author SHA1 Message Date
stsypanov 7dba79c7c1 Use String::isEmpty instead of "".equals(arg) when arg is not null 2018-08-26 22:48:21 +02:00
Sam Brannen 4883b8aa03 Polish JavaDoc for @Configuration 2018-08-26 22:07:07 +02:00
Sam Brannen 52c91910b2 Polish JavaDoc for @Configuration 2018-08-26 15:03:05 +02:00
Juergen Hoeller 1d59e52f11 EventListenerMethodProcessor accepts internal configuration classes
Issue: SPR-17160
2018-08-18 12:05:39 +02:00
Juergen Hoeller 84300b796c Fix recent javadoc errors
Issue: SPR-17174
2018-08-16 18:51:31 +02:00
Juergen Hoeller 04d2d1da0d Consistently use double quotes (even if no interpolation needed)
Includes upgrade to Hibernate ORM 5.3.5, EclipseLink 2.7.3, Selenium HtmlUnit Driver 2.32.1, Jetty 9.4.12 RC2.
2018-08-16 15:32:44 +02:00
Juergen Hoeller 2ec8fa9cac SmartLifecycle default methods for auto-startup in default phase
Issue: SPR-17188
2018-08-16 12:08:02 +02:00
Juergen Hoeller 109a2b49e5 Consistently skip unnecessary search on superclasses and empty elements
Includes caching of declared annotation arrays and combined searching for several annotation types (used in SpringCacheAnnotationParser).

Issue: SPR-16933
2018-08-15 17:30:14 +02:00
Juergen Hoeller 04a7f0884b SpringCacheAnnotationParser.parseCacheAnnotations cannot be protected
Its parameter DefaultCacheConfig is just package-visible...
2018-08-13 12:43:59 +02:00
Sam Brannen aebbd949a8 Suppress deprecation warnings in AnnotationProcessorPerformanceTests 2018-08-13 12:35:19 +02:00
Juergen Hoeller c4a7567a5e Post-processors consistently ignore ScopedObject/AopInfrastructureBean
JmsListenerAnnotationBeanPostProcessor also ignores JmsListenerContainerFactory and JmsListenerEndpointRegistry, avoiding unnecessary annotation introspection on framework classes.

Issue: SPR-17166
Issue: SPR-16933
2018-08-12 11:47:28 +02:00
Juergen Hoeller 71d4dbea13 Post-processors ignore AopInfrastructureBean (includes ScopedObject)
Issue: SPR-17166
2018-08-11 23:10:57 +02:00
Juergen Hoeller 8bf8092740 Post-processors consistently ignore ScopedObject/AopInfrastructureBean
ScheduledAnnotationBeanPostProcessor also ignores TaskScheduler and ScheduledExecutorService, avoiding unnecessary annotation introspection on framework classes.

Issue: SPR-17166
Issue: SPR-16933
2018-08-11 22:20:07 +02:00
Juergen Hoeller aebb2d52e0 Logging refinements for transaction and cache processing (debug/trace)
Issue: SPR-16946
2018-08-10 15:45:46 +02:00
Juergen Hoeller c437a0d1c3 Declare default methods for supportsSourceType and getOrder
Issue: SPR-17163
2018-08-10 15:42:30 +02:00
Juergen Hoeller 20f2e23bfb Polishing 2018-08-09 23:57:25 +02:00
Juergen Hoeller b3ca2d50a2 DefaultLifecycleProcessor properly counts dependent beans in same phase
Includes log level revision towards TRACE for cleaner DEBUG experience.

Issue: SPR-16901
Issue: SPR-16946
2018-08-09 17:31:29 +02:00
Juergen Hoeller 3a5def047f @Scheduled supports "-" as cron expression value for disabled triggers
Issue: SPR-16858
2018-08-09 16:12:05 +02:00
Juergen Hoeller 8e571decc1 Polishing 2018-08-09 11:59:15 +02:00
Juergen Hoeller 7cf98261ce Polishing 2018-08-08 23:56:17 +02:00
Juergen Hoeller 3f7d4b107e Avoid unnecessary annotation introspection on framework classes
Issue: SPR-16933
2018-08-08 23:53:45 +02:00
Juergen Hoeller b8b6367f9b ConcurrentModel ignores null value for put (also used by putAll)
Issue: SPR-17141
2018-08-08 23:51:55 +02:00
Sam Brannen 52f6dcf525 Fix typo 2018-08-08 13:25:14 +02:00
Kazuhiro Sera be211ceead Fix typos detected by github.com/client9/misspell 2018-08-08 12:50:46 +02:00
Juergen Hoeller b325c74216 Pruning of outdated JDK 6/7 references (plus related polishing) 2018-08-07 20:36:47 +02:00
Juergen Hoeller 2b051b8b32 Deprecate support classes for Sun's JDK HTTP server
Issue: SPR-17143
2018-08-07 20:35:53 +02:00
Juergen Hoeller 34ddb88851 ConcurrentModel.addAttribute(String, Object) ignores null value
Issue: SPR-17141
2018-08-07 20:35:34 +02:00
Juergen Hoeller 2938a95435 Pre-size LinkedHashSet for annotation parsers
Issue: SPR-17074
2018-08-07 01:35:57 +02:00
Juergen Hoeller d72d376f03 Avoid unnecessary annotation introspection on framework methods
Issue: SPR-16933
2018-08-07 01:35:32 +02:00
Juergen Hoeller e64c6dfa3d MergedBeanDefinitionPostProcessors clear internal caches on bean reset
Issue: SPR-17126
2018-08-06 15:41:35 +02:00
Juergen Hoeller 50550717d6 SchedulingTaskExecutor provides prefersShortLivedTasks default method
Issue: SPR-17116
2018-08-02 14:36:53 +02:00
Juergen Hoeller 589b7048ec Avoid synthesizable annotation creation for @Bean/@Scope processing
Includes consistent (non-)use of AnnotationUtils/AnnotatedElementUtils.

Issue: SPR-16933
2018-08-01 11:43:28 +02:00
Сергей Цыпанов f8340838b3 Use lambda expressions for lazy instantiation (#1911)
Issue: SPR-17074
2018-07-31 13:03:18 +02:00
Juergen Hoeller f74a631ea1 Nullability refinements in spring-webmvc
Includes revision of web.servlet.tags.form for non-null conventions.

Issue: SPR-15540
2018-07-30 22:08:11 +02:00
Juergen Hoeller 4a147d26fc Initialize pre-filled HashMaps with large enough capacity
Empty Maps are preferably initialized without capacity (not initializing them at all or lazily initializing with default capacity when needed).

Issue: SPR-17105
2018-07-30 22:07:31 +02:00
Juergen Hoeller 1fd6248d84 Polishing 2018-07-27 17:46:21 +02:00
Juergen Hoeller c037e75f26 Improve debug logging at BeanDefinitionReader and BeanFactory level
Issue: SPR-17090
2018-07-27 17:46:05 +02:00
Juergen Hoeller 025fd2962e Polishing 2018-07-26 23:51:52 +02:00
Juergen Hoeller 7c9ba80f85 Polishing 2018-07-26 23:20:50 +02:00
Bhavani Shekhawat ee95f171c8 Update PropertySourcesPlaceholderConfigurer.java
Fix the error message when PropertySources are not applied
2018-07-26 20:48:50 +02:00
Juergen Hoeller e458777925 Properly identify event-related ClassCastExceptions on JDK 11
Issue: SPR-17093
2018-07-26 14:41:53 +02:00
Rossen Stoyanchev 14d0fee86c Improve context-related logging on web startup
Sample output at TRACE:
```
DispatcherServlet - Initializing Servlet 'org.springframework.web.servlet.DispatcherServlet-7a8c8dcf'
AnnotationConfigWebApplicationContext - Refreshing WebApplicationContext for namespace 'org.springframework.web.servlet.DispatcherServlet-7a8c8dcf-servlet', started on Wed Jul 25 17:46:38 EDT 2018
AnnotationConfigWebApplicationContext - Registering [org.springframework.web.servlet.mvc.method.annotation.RequestPartIntegrationTests$CommonsMultipartResolverTestConfig]
AnnotationConfigWebApplicationContext - No 'messageSource' bean, using [Empty MessageSource]
AnnotationConfigWebApplicationContext - No 'applicationEventMulticaster' bean, using [SimpleApplicationEventMulticaster]
AnnotationConfigWebApplicationContext - No 'lifecycleProcessor' bean, using [DefaultLifecycleProcessor]
...
DispatcherServlet - Initialization completed in 3361 ms
```

Issue: SPR-16946
2018-07-25 17:50:03 -04:00
Sebastien Deleuze d3b244a81b Optimize class detection by sharing the ClassLoader
Issue: SPR-17083
2018-07-25 11:09:42 +02:00
Juergen Hoeller 47d8fe83df Upgrade to Interceptor API 1.2.2, Moneta 1.3, Rome 1.11 2018-07-24 14:44:56 +02:00
Juergen Hoeller 20c34cbb9b Provide predetermined capacity for cache operation collections
Issue: SPR-17079
2018-07-24 13:27:02 +02:00
Juergen Hoeller a9c9ba6601 Generic matching for ObjectProvider stream and empty vararg resolution
Issue: SPR-11419
Issue: SPR-15338
2018-07-24 13:03:54 +02:00
Juergen Hoeller 1603c4ab2f Programmatic ObjectProvider retrieval through BeanFactory API
Introduces getBeanProvider(Class) and getBeanProvider(ResolvableType), also narrowing getBean(String, Class) and isTypeMatch(String, Class) to a non-null Class argument and enriching NoUniqueBeanDefinitionException with a full ResolvableType. In addition, ObjectProvider supports iterable/stream access for collection-style resolution of multiple matching beans now, and collection injection falls back to an empty collection in a single-constructor case with non-null arguments.

Issue: SPR-17075
Issue: SPR-11419
Issue: SPR-15338
2018-07-24 00:42:03 +02:00
Juergen Hoeller 13873dafb7 Polishing 2018-07-22 17:55:31 +02:00
Juergen Hoeller 9a43d2ec20 Revised log levels: less WARN and INFO, fine-tuned DEBUG vs TRACE
Issue: SPR-16946
2018-07-20 15:05:16 +02:00
Juergen Hoeller 252f52ab07 Tighten (IntroductionAware)MethodMatcher contract
Provides a non-null guarantee for MethodMatcher's targetClass argument and strict separation between IntroductionAwareMethodMatcher and regular MethodMatcher, enabling DefaultAdvisorChainFactory to defer its IntroductionAdvisor determination until encountering an actual IntroductionAwareMethodMatcher (even behind union/intersection).

Issue: SPR-17068
2018-07-20 00:17:31 +02:00