Commit Graph

17550 Commits

Author SHA1 Message Date
Andy Wilkinson
d4be484d27 Upgrade to AssertJ 3.23.1
Closes gh-31331
2022-06-10 13:44:21 +01:00
Moritz Halbritter
3799170c4d Disable metrics and tracing in web endpoints integration tests
See gh-31308
2022-06-10 14:25:12 +02:00
Moritz Halbritter
486b3073ce Add tracing in integration tests paragraph to the documentation
See gh-31308
2022-06-10 14:25:12 +02:00
Moritz Halbritter
8fab9f290c Back off tracing auto-configurations if tracing is disabled
See gh-31308
2022-06-10 14:25:12 +02:00
Moritz Halbritter
b019ff6102 Wavefront sender configuration is no longer an auto-configuration
It's now a regular configuration class which is imported from
the Wavefront metrics and tracing auto-configurations
2022-06-10 14:25:12 +02:00
Moritz Halbritter
943e9033c0 Add @ConditionalOnEnabledTracing condition
See gh-31308
2022-06-10 14:25:12 +02:00
Moritz Halbritter
b250d8a1e4 Add @AutoConfigureObservability annotation
This annotation is read by ObservabilityContextCustomizerFactory, which
then sets test properties depending on the annotation attributes.

@AutoConfigureMetrics is deprecated, to support backwards compatability
it's now meta-annotated with @AutoConfigureObservability

See gh-31308
2022-06-10 14:25:12 +02:00
Andy Wilkinson
36f01eb40b Fix compilation error with Tomcat 10
There's no setter for the max header size in Tomcat 10 as it's now
inherited from the underlying HTTP 1.1 protocol. The test that
was merged forwards from 2.7.x is retained to verify that this is
the case.

See gh-31330
2022-06-10 12:40:40 +01:00
Andy Wilkinson
b6ebf4a7db Merge branch '2.7.x'
Closes gh-31330
2022-06-10 11:36:11 +01:00
Andy Wilkinson
7f584a95a6 Merge branch '2.6.x' into 2.7.x
Closes gh-31329
2022-06-10 11:35:54 +01:00
Andy Wilkinson
e02803d341 Configure max HTTP header size when using HTTP2 with Tomcat
Closes gh-31322
2022-06-10 11:32:57 +01:00
Moritz Halbritter
41e9867bc4 Register all ObservationHandler, regardless which context they use
Closes #31272
2022-06-10 10:12:35 +02:00
Andy Wilkinson
29cd148e05 Start building against Spring Framework 5.3.1 snapshots
See gh-31319
2022-06-09 20:55:14 +01:00
Andy Wilkinson
ed897fc922 Start building against Spring Framework 5.3.21 snapshots
See gh-31318
2022-06-09 19:37:50 +01:00
Moritz Halbritter
d1647cf68c Don't back off on user-supplied SpanHandlers
Instead the auto-configuration now backs off only on ZipkinSpanHandler.

Closes gh-31273
2022-06-09 15:17:14 +02:00
Andy Wilkinson
91bb5aa222 Move auto-config of ReactiveElasticClient to elasticsearch pkg
Closes gh-28068
2022-06-09 11:42:09 +01:00
Phillip Webb
c56783064d Support management contexts with AOT
Refactor child management configuration and add AOT generation support.
A new `ChildManagementContextInitializer` class now performs the child
context initialization and also handles AOT processing concerns.

Closes gh-31163
2022-06-08 19:24:46 -07:00
Phillip Webb
a729f71cba Polish LogbackRuntimeHintsRegistrar 2022-06-08 19:24:45 -07:00
Phillip Webb
e8f9386594 Add Runnable variant of TestPropertyValues.applyToSystemProperties
Closes gh-31303
2022-06-08 19:24:45 -07:00
Phillip Webb
11184aae8d Allow ApplicationContextRunner to return non-refreshed context
Add `AbstractApplicationContextRunner.prepare` which can be used to
test an `ApplicationContext` that has been prepared but not refreshed.

Closes gh-31302
2022-06-08 19:02:12 -07:00
Andy Wilkinson
46c262d3cc Merge branch '2.7.x'
Closes gh-31283
2022-06-08 19:24:49 +01:00
Andy Wilkinson
12eb7a8795 Merge branch '2.6.x' into 2.7.x
Closes gh-31282
2022-06-08 19:24:07 +01:00
Andy Wilkinson
a651061e2c Remove SpringApplicationHierarchyTests
Closes gh-31281
2022-06-08 19:23:26 +01:00
Andy Wilkinson
62f40f2c38 Apply initializers and bean registrations before registering classes
Previously, classes were registered first which meant that their
conditions were evaluated before any initializers and bean
registrations were applied. This prevented the bean registrations and
initializers from affecting the outcome of the condition evaluation.

This commit inverts the ordering so that classes are not registerd,
and therefore their conditions are not evaluated, until after the
bean registrations and initializers have been applied.

Closes gh-31280
2022-06-08 18:45:54 +01:00
Stephane Nicoll
e30391ca7a Use Application as target for generated code
Closes gh-31274
2022-06-08 14:51:17 +02:00
Stephane Nicoll
8413002bcb Polish
See gh-31247
2022-06-07 20:02:06 +02:00
Andy Wilkinson
869bb91c80 Polish 2022-06-07 17:52:11 +01:00
Stephane Nicoll
ac16432fad Add AOT support for immutable ConfigurationProperties bean definitions
This commit introduces a dedicated AotProcessors for immutable
configuration properties beans as their bean definition use an
instance supplier that needs special handling. If such a bean definition
is detected, dedicated code is generated that replicates the behavior
of the instance supplier.

Closes gh-31247
2022-06-07 14:26:35 +02:00
Brian Clozel
3f0c14187a Register runtime hints for @ConfigurationProperties
Prior to this commit, the `@ConfigurationProperties` annotation would
not be registered for reflection hints: this means it could be missing
at runtime in a native image and would not be registered for JDK
proxying - this can fail the synthesized annotation resolution.

This commit ensures that hints are registered for this annotation if
configuration properties are declared in the bean factory.

Fixes gh-31227
2022-06-07 09:50:56 +02:00
Stephane Nicoll
e2c42e4bbf Merge branch '2.7.x'
Closes gh-31262
2022-06-07 09:16:19 +02:00
Stephane Nicoll
8e550933a8 Merge branch '2.6.x' into 2.7.x
Closes gh-31261
2022-06-07 09:16:10 +02:00
Stephane Nicoll
bbb5966bca Upgrade integration tests to Apache Maven 3.8.5
Closes gh-31260
2022-06-07 09:15:41 +02:00
Stephane Nicoll
1c94f835c7 Copy AOT-generated classes
Closes gh-31245
2022-06-07 08:59:57 +02:00
Andy Wilkinson
11cbb2549e Merge branch '2.7.x'
Closes gh-31256
2022-06-06 17:03:41 +01:00
Andy Wilkinson
c379456722 Remove dependency management for spring-ldap-ldif-batch
The spring-ldap-ldif-batch module was removed in Spring LDAP 2.4.0 in
favor of the equivalent code that already exists in Spring Batch.
This commit aligns Boot's dependency management with this removal.

Closes gh-31254
2022-06-06 17:01:28 +01:00
Stephane Nicoll
c996e4335a Fix singleton handling of ConfigurationProperties hints
Closes gh-31248
2022-06-04 12:29:45 +02:00
Stephane Nicoll
cf19c176f6 Adapt test to change in Spring Framework snapshots 2022-06-03 18:11:10 +02:00
Stephane Nicoll
2a405c94a8 Add missing test
Closes gh-31249
2022-06-03 17:41:29 +02:00
Stephane Nicoll
fb439b6824 Permit AOT-generated code to run on the JVM as well
This commit updates the codebase so that AOT-generated code can run on
the JVM in an opt-in fashion alongside the existing support of native
images.

When optimizations have been generated, setting the "spring.aot.enabled"
spring property (JVM or spring.properties) allows to opt-in for that
behavior on the JVM.

Closes gh-31244
2022-06-03 10:10:56 +02:00
Stephane Nicoll
0dbcb5f6d3 Start building against Spring Framework 6.0.0-M5 snapshots
See gh-31241
2022-06-02 16:19:58 +02:00
Phillip Webb
13fba65638 Polish 2022-06-01 09:53:21 -07:00
Phillip Webb
6d80723598 Relocate AotProcessingHook
Relocate `AotProcessingHook` to be an static class of `AotProcessor`.
2022-05-31 15:51:12 -07:00
Stephane Nicoll
6e9ea85835 Adapt BasePackages bean definition for AOT processing
This commit adapts how the BasePackages bean is registered so that
AOT processing works with it out-of-the-box. Previously we were using
an instance supplier with the accumulated base packages. This commit
changes that to set a constructor argument values.

Closes gh-31223
2022-05-31 15:19:35 +02:00
Andy Wilkinson
4385926df1 Ensure that the main application class can be deduced
Closes gh-31222
2022-05-31 12:06:56 +01:00
Andy Wilkinson
5f54289e97 Allow WebApplicationType to be deduced in a native image
Closes gh-31217
2022-05-31 11:39:42 +01:00
Stephane Nicoll
44a8e91b9e Prevent main method to continue once the AOT context has been optimized
This commit makes sure that processing of the main method upon
completion of SpringApplication#run. Previously, any instructions in
the user's main method were invoked, which is not suitable to build-time
processing.

Closes gh-31219
2022-05-31 12:34:37 +02:00
Andy Wilkinson
d044eaf69d Merge branch '2.7.x'
Closes gh-31221
2022-05-31 11:21:52 +01:00
Andy Wilkinson
7f291f8da0 Merge branch '2.6.x' into 2.7.x
Closes gh-31220
2022-05-31 11:14:08 +01:00
Andy Wilkinson
348662b15e Remove unused deduceFromApplicationContext and supporting code
Closes gh-31218
2022-05-31 10:57:22 +01:00
Andy Wilkinson
1ba1eff63a Merge branch '2.7.x' 2022-05-30 19:22:45 +01:00