Commit Graph

24139 Commits

Author SHA1 Message Date
Sam Brannen
6a67b4a2aa Polish SpringFactoriesLoaderRuntimeHintsRegistrar
See gh-27955
2022-05-11 16:18:06 +02:00
Brian Clozel
e6c0152916 Force AOT resolution of Spring Factories constructors
This commit forces the resolution of all declared constructors when
registering `RuntimeHints` for Spring factories. Resolving constructors
can throw additional `NoClassDefFoundError` at runtime and during native
image compilation, if a type exposed by the constructor is missing from
the current classloader.

See gh-27955
2022-05-11 12:11:14 +02:00
Juergen Hoeller
8b6dcb9ccc Merge branch '5.3.x' 2022-05-11 08:52:05 +02:00
Juergen Hoeller
83186b689f Refine CachedIntrospectionResults property introspection
Closes gh-28445
2022-05-11 08:32:06 +02:00
rstoyanchev
dc2947c52d Ignore invalid connect frame
Closes gh-28443
2022-05-11 07:22:22 +01:00
Phillip Webb
2961426d8a Fix checkstyle issues and test failures
See gh-27955
See gh-28442
2022-05-10 18:33:15 -07:00
Phillip Webb
83063a7269 Update '.mailmap` to consistently use @vmware.com emails 2022-05-10 17:08:49 -07:00
Brian Clozel
267b91486e Add native hints for SpringFactoriesLoader file content
Add `SpringFactoriesLoaderRuntimeHintsRegistrar` which provides
native hints for `spring.factories` content.

Closes gh-27955

Co-authored-by: Phillip Webb <pwebb@vmware.com>
2022-05-10 17:08:49 -07:00
Phillip Webb
e7e60f7cb9 Add native hints for core annotations
Add `CoreAnnotationsRuntimeHintsRegistrar` to provide native hints
for `@Order` and `@AliasFor`.

Closes gh-28442
2022-05-10 16:11:36 -07:00
Phillip Webb
4cebd9d392 Fix SpringFactoriesLoader cache key when using default classloader
Update `SpringFactoriesLoader` so that `null` is never used for the
cache key. Prior to this commit, calling `forDefaultResourceLocation`
with `null` and `ClassUtils.getDefaultClassLoader()` would provide
different `SpringFactoriesLoader` instances rather than making use
of a single shared cached instance.

See gh-28416
2022-05-10 16:07:50 -07:00
Sam Brannen
eb50a6f4a0 Further polishing regarding JDK baseline upgrade
See gh-28440
2022-05-10 17:01:40 +02:00
lihan
a892ce80c1 Polishing regarding JDK baseline upgrade
Closes gh-28440
2022-05-10 17:01:40 +02:00
Arjen Poutsma
5c5c89e9fe Merge branch '5.3.x' 2022-05-10 15:55:54 +02:00
Arjen Poutsma
e4ec376075 Disabling Undertow server in CoroutinesIntegrationTests 2022-05-10 15:55:00 +02:00
Juergen Hoeller
4e687ab460 Upgrade to Groovy 4.0.2 2022-05-10 13:40:12 +02:00
Juergen Hoeller
c1a5b462c2 Merge branch '5.3.x'
# Conflicts:
#	build.gradle
2022-05-10 13:39:31 +02:00
Arjen Poutsma
e29bc3db7c Refactor PartGenerator to use isLast
This commit refactors the PartGenerator to use the newly introduced
Token::isLast property.

See gh-28006
2022-05-10 13:16:37 +02:00
Sam Brannen
d44ba0a42b Consistent formatting 2022-05-10 13:12:11 +02:00
Juergen Hoeller
c81e11d537 Polishing 2022-05-10 13:07:00 +02:00
Juergen Hoeller
de6180b093 Upgrade to Reactor 2020.0.19
Includes Netty 4.1.77 and RxJava 3.1.4.

Closes gh-28437
2022-05-10 13:05:56 +02:00
Sam Brannen
da112a7ea8 Remove obsolete SpEL expression grammar file
The antlr-based SpEL expression grammar file (SpringExpressions.g) was
introduced during initial development and prototyping of the Spring
Expression language; however, it was quickly abandoned in favor of a
handcrafted implementation. Consequently, it has become obsolete over
time and has never been actively maintained.

This commit therefore removes the obsolete SpEL expression grammar file.

Closes gh-28425
2022-05-10 12:51:45 +02:00
rstoyanchev
922636e85e Content decoding in client exceptions
Closes gh-28190
2022-05-10 11:48:46 +01:00
rstoyanchev
64795664b2 Add ClientHttpResponseDecorator
See gh-28190
2022-05-10 11:48:46 +01:00
rstoyanchev
6b1a8452fa Polishing 2022-05-10 11:48:46 +01:00
Sam Brannen
d8f650e3ca Polishing 2022-05-10 12:18:45 +02:00
evgeny.bovykin
7cb6ac0a02 Make inner classes static when feasible (on main)
A static nested class does not keep an implicit reference to its
enclosing instance.

This prevents a common cause of memory leaks and uses less memory per
instance of the class.

Closes gh-28433
2022-05-10 11:45:18 +02:00
Sam Brannen
d45b5f6e8a Merge branch '5.3.x'
# Conflicts:
#	spring-webflux/src/main/java/org/springframework/web/reactive/resource/VersionResourceResolver.java
#	spring-webmvc/src/main/java/org/springframework/web/servlet/resource/VersionResourceResolver.java
2022-05-10 11:44:14 +02:00
Sam Brannen
1c10cdd1e8 Update copyright dates
See gh-28433
2022-05-10 11:33:32 +02:00
evgeny.bovykin
941b92cbed Make inner classes static when feasible
A static nested class does not keep an implicit reference to its
enclosing instance.

This prevents a common cause of memory leaks and uses less memory per
instance of the class.

Closes gh-28433
2022-05-10 11:32:37 +02:00
Phillip Webb
3df3bc2aa0 Generate native hints for property values
Update `BeanDefinitionPropertiesCodeGenerator` so that hints are
generated for property values. This restores functionality that was
inadvertently removed during refactoring.

See gh-28414
2022-05-09 12:29:56 -07:00
Sam Brannen
91441ba653 Update copyright date 2022-05-09 20:27:32 +02:00
CharlieYu
432fce9db3 Polish Javadoc and inline comments
Closes gh-28426
2022-05-09 20:26:06 +02:00
Sam Brannen
5f8a4bcdc5 Merge branch '5.3.x'
# Conflicts:
#	spring-context/src/main/java/org/springframework/jmx/export/MBeanExporter.java
#	spring-context/src/main/java/org/springframework/scripting/support/StandardScriptFactory.java
2022-05-09 20:08:37 +02:00
rstoyanchev
8378af9e39 Polishing
See gh-28189
2022-05-09 19:01:10 +01:00
rstoyanchev
78ab4d7118 Support content negotiation for RFC 7807
Closes gh-28189
2022-05-09 18:32:21 +01:00
Sam Brannen
e26d8839b3 Stop referring to features as Java 6/7 features where unnecessary 2022-05-09 19:09:06 +02:00
Simon Baslé
f3fd8f9e1d Update Reactor BOM to 2022.0.0-M2
Closes gh-28365
2022-05-09 17:14:17 +02:00
Sam Brannen
f7d032c924 Polish formatting 2022-05-09 15:31:53 +02:00
Sam Brannen
6c131ef9dc Merge branch '5.3.x' 2022-05-09 15:23:15 +02:00
Sam Brannen
a1c7380398 Add test for value attribute in @ModelAttribute in WebFlux
This complements the previous commit which tested only the `name`
attribute.

See gh-28423
2022-05-09 15:22:22 +02:00
Maciej Walkowiak
2713f28c28 Fix typo in declarative HTTP interfaces docs
Closes gh-28431
2022-05-09 14:12:51 +02:00
rstoyanchev
d2b674391a Add documentation for interface proxy client
Closes gh-28386
2022-05-09 09:52:15 +01:00
rstoyanchev
54d90aa6f5 Remove Remoting and EJB sections in reference docs 2022-05-09 09:52:15 +01:00
rstoyanchev
5d0f49c2c8 Add WebInputException subclasses
Closes gh-28142
2022-05-09 09:52:15 +01:00
evgeny.bovykin
06e1cc2f9b Use Arrays.toString for initMethodNames and destroyMethodNames arrays in AbstractBeanDefinition#toString 2022-05-09 10:18:25 +02:00
Sam Brannen
061d1263f8 Merge branch '5.3.x' 2022-05-07 17:24:50 +02:00
Sam Brannen
7dd622bdb2 Support name attribute in @ModelAttribute in WebFlux
Prior to this commit, the `name` attribute in @ModelAttribute was not
supported when using WebFlux. This is because MethodParameter was used
instead of SynthesizingMethodParameter when retrieving the
@ModelAttribute annotation. In other words, @AliasFor was not honored
because the annotation was not synthesized. Consequently, only the
`value` attribute was supported in WebFlux when specifying a custom name
via @ModelAttribute.

This commit fixes this by using SynthesizingMethodParameter to retrieve
the @ModelAttribute annotation.

Closes gh-28423
2022-05-07 17:16:26 +02:00
Sam Brannen
9b1c8a3a5c Fix broken ToStringVisitorTests
Tests were broken due to the switch to Set.of(...) in
2b65f274dc.
2022-05-07 16:45:46 +02:00
Sam Brannen
a69d9716c9 Merge branch '5.3.x' 2022-05-07 16:28:01 +02:00
Sam Brannen
64c96c579d Polish contribution
See gh-28422
2022-05-07 16:18:47 +02:00