Commit Graph

12812 Commits (5e2a61174296a73e5b38e445fb4854e5e36135ba)

Author SHA1 Message Date
Scott Frederick da9d8d6055 Use test harness for image building integration tests
This commit modifies the integration tests for the Maven and Gradle
image building goal and task to use a custom builder as a test harness
to verify that the plugins invoke the builder as expected.

Fixes gh-25838
4 years ago
Andy Wilkinson 6f9b1ed6a3 Merge branch '2.4.x'
See gh-25837
4 years ago
Andy Wilkinson 563b8a8cec Merge branch '2.3.x' into 2.4.x
See gh-25836
4 years ago
Andy Wilkinson e94f8bba62 Ensure that upstream jars have been built
See gh-25835
4 years ago
Andy Wilkinson df4b1ffb0d Merge branch '2.4.x'
Closes gh-25837
4 years ago
Andy Wilkinson 38a4f135a9 Merge branch '2.3.x' into 2.4.x
Closes gh-25836
4 years ago
Andy Wilkinson ca9a619259 Defer processing of zipTree source until execution time
Closes gh-25835
4 years ago
Andy Wilkinson 09173b81d6 Merge branch '2.4.x'
Closes gh-25833
4 years ago
Andy Wilkinson 7a846ad41f Merge branch '2.3.x' into 2.4.x
Closes gh-25832
4 years ago
Andy Wilkinson 5a086321c6 Polish "Document Failsafe configuration when not using starter parent"
See gh-25621
4 years ago
robert-smith-911 0d79fd3e01 Document Failsafe configuration when not using starter parent
See gh-25621
4 years ago
Phillip Webb 8c31d29acf Merge branch '2.4.x' 4 years ago
Phillip Webb a28a3ae090 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 9c8a97809d Consistent use of @deprecated since
Restore the patch version number for consistency with `@since`
tags.

See gh-25808
4 years ago
Brian Clozel fe1011c23d Add Netty memory leak detection config property
This commit adds a new `spring.netty.leak-detection` configuration
property that selects the level of memory leak detection for the Netty
engine.

This configuration is applied statically to Netty; this means all
(non-shaded) Netty usages as client or server will be impacted by this
change.

Developers might use this property during development or tests to find
causes of memory leaks when dealing with Netty buffers.

Closes gh-14338
4 years ago
Andy Wilkinson 66e857f2c5 Merge branch '2.4.x'
See gh-25826
4 years ago
Andy Wilkinson d9ce30b15c Merge branch '2.3.x' into 2.4.x
See gh-25825
4 years ago
Andy Wilkinson 8b6eef6f1d Consistent use of @deprecated since
See gh-25808
4 years ago
Phillip Webb 4ad87a861d Restore deprecated JobLauncherCommandLineRunner
Restore the deprecated `JobLauncherCommandLineRunner` class and extend
removal until 2.6. The class is still needed by spring-cloud-task.

Closes gh-25807
4 years ago
Phillip Webb c9451b59f2 Merge branch '2.4.x' 4 years ago
Phillip Webb a0f5169966 Polish 4 years ago
Phillip Webb 44b1751bb4 Merge branch '2.4.x'
Closes gh-25826
4 years ago
Phillip Webb 363f5829d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25825
4 years ago
Phillip Webb 26dd1b9a26 Update deprecations with for removal targets
Update all deprecation tags to include a removal target.

Closes gh-25808
4 years ago
Andy Wilkinson f3c9cc85cb Polish
See gh-25818
4 years ago
Brian Clozel 61573fbf14 Record server metrics for cancelled connections
Prior to this commit, the Actuator instrumentation for WebFlux servers
would not record metrics in two cases:

* the client disconnects before the response has been sent
* a server timeout is triggered before the response is sent

This commit improves the existing instrumentation to record metrics in
these cases. Since the causes of timeouts/disconnections can vary a lot,
the chosen "outcome" tag for metrics is "UNKNOWN".

Closes gh-23606
4 years ago
Andy Wilkinson 9b65409e23 Generalize database initialization detection and include R2DBC
Closes gh-25818
4 years ago
Andy Wilkinson 22b02a6c6f Merge branch '2.4.x'
Closes gh-25823
4 years ago
Andy Wilkinson a025f3d252 Merge branch '2.3.x' into 2.4.x
Closes gh-25822
4 years ago
Andy Wilkinson 896f20e1d3 Improve diagnostics of ClassPathFileSystemWatcherTests
Closes gh-25821
4 years ago
Stephane Nicoll 9087c24713 Merge branch '2.4.x'
See gh-25820
4 years ago
Stephane Nicoll 8bb4020bd4 Polish
See gh-25819
4 years ago
Andy Wilkinson 676713be3f Merge branch '2.4.x'
Closes gh-25820
4 years ago
Andy Wilkinson 403e747c46 Use constructor injection in SpringBootRepositoryRestConfigurer
Closes gh-25819
4 years ago
Andy Wilkinson e49a88cb9b Auto-configure script-based R2DBC database initialization
See gh-24741
4 years ago
Andy Wilkinson 9cc7f0b54d Generalize script-based DB initialization and add R2DBC initializer
See gh-24741
4 years ago
Andy Wilkinson eb1200415d Derive a ConnectionFactoryBuilder from an existing ConnectionFactory
Closes gh-25788
4 years ago
Stephane Nicoll 870d9b191a Merge branch '2.4.x'
Closes gh-25813
4 years ago
Stephane Nicoll d1aaee46bb Merge branch '2.3.x' into 2.4.x
Closes gh-25812
4 years ago
dreis2211 be4491959b Fix flaky QuartzAutoConfigurationTests
See gh-25810
4 years ago
Scott Frederick 269fc68c1d Merge branch '2.4.x'
Closes gh-25811
4 years ago
Scott Frederick 4015d70f00 Merge branch '2.3.x' into 2.4.x
Closes gh-25789
4 years ago
dreis2211 a9a37f0dd5 Increase test coverage on Java 16
See gh-25809
4 years ago
Scott Frederick 3ad5f1013a Fix Maven image building with classifiers
Fixes gh-25736
4 years ago
Andy Wilkinson 340893747b Merge branch '2.4.x'
Closes gh-25799
4 years ago
Andy Wilkinson af7e4e211c Support all known endpoint types
Previously, the configuration metadata annotation processor only
declared support for `@Endpoint` and none of the other more
specialized `@…Endpoint` annotations that are meta-annotated with
`@Endpoint` such as `@WebEndpoint` and `@JmxEndpoint. This would
result in missing metadata if a full or incremental build only
compiled classes annotated with one of the more specialized
`@…Endpoint` annotations as the annotation processor would not be
called.

This commit updates the processor's supported annotation types to
include every known `@…Endpoint` annotation. The test processor has
also been similarly updated to align its behaviour with that of the
main processor.

Fixes gh-25388
4 years ago
Andy Wilkinson 759e5cb5f5 Polish indentation 4 years ago
Phillip Webb 8da82d2d36 Merge branch '2.4.x'
Closes gh-25790
4 years ago
Phillip Webb 35aeae5a4f Deprecate Bootstrapper
Deprecate the `Bootstrapper` interface entirely and provide a
`BootstrapRegistryInitializer` alternative so that people can migrate.

Unfortunately our previous attempt to fix the typo in the `Bootstrapper`
interface didn't provide us a way to remove the deprecated method
without impacting users. It was also problematic for people who were
implementing `Bootstrapper` rather than using a lambda since they needed
to introduce the deprecated method.

We unfortunately can't see a way to fix the original typo without
introducing a new interface.

Fixes gh-25735
4 years ago
Phillip Webb 02a6de4498 Merge branch '2.4.x'
Closes gh-25787
4 years ago
Phillip Webb ddf5c9f5d1 Merge branch '2.3.x' into 2.4.x
Closes gh-25786
4 years ago
Phillip Webb 88b74097ba Polish 'Ignore quality value when removing MediaType.ALL'
See gh-25778
4 years ago
Fábio Ramon 3090a3a71f Ignore quality value when removing MediaType.ALL
Update the default reactive exception handler so that `MediaType.ALL`
is removed regardless of any quality setting. Prior to this commit,
the "match-all" media type was not properly ignored if it has a quality
value and would show HTML content if the accept header was
`application/json, */*;q=0.9`.

See gh-25778
4 years ago
Phillip Webb 38584f0694 Merge branch '2.4.x'
Closes gh-25785
4 years ago
Phillip Webb 5274cf2459 Merge branch '2.3.x' into 2.4.x
Closes gh-25784
4 years ago
Phillip Webb 130cc5b036 Chain caught InvalidEndpointRequestExceptions
Update `AbstractWebMvcEndpointHandlerMapping` to chain any caught
InvalidEndpointRequestExceptions so that a more complete stacktrace
is available. The exception has also been updated to a
`ResponseStatusException` so that the reason can be propagated.

Fixes gh-25642
4 years ago
Andy Wilkinson 90b4ced7a6 Move DataSource init auto-config out of DataSourceAutoConfiguration
Previously, the auto-configuration for DataSource initialization and
the properties used to configure it were part of the general
DataSource auto-configuration and properties.

This commit moves the auto-configuration of DataSource initialization
out into a separate top-level auto-configuration class. Similarly,
the properties for configuring DataSource initialization have been
moved from `spring.datasource.*` into `spring.sql.init.*`.

The old initialization-related `spring.datasource.*` properties have
been deprecated but can still be used. When they are used, they new,
separate initialization auto-configuration will back off. In other
words, the initialization related `spring.datasource.*` properties
and the `spring.sql.init.*` properties cannot be used in combination.

Closes gh-25323
4 years ago
Andy Wilkinson e2811ace72 Improve testing of optional schema and data scripts
See gh-25487
4 years ago
Andy Wilkinson 5758a5aa39 Rename DDL/DML script location properties
See gh-25756
4 years ago
Stephane Nicoll 36b63eec4b Polish "Expose Spring Integration global properties"
See gh-25377
4 years ago
Artem Bilan e2df9bce84 Expose Spring Integration global properties
Spring Integration comes with some global properties which can be
configured via `META-INF/spring.integration.properties`. The framework
then provides an `integrationGlobalProperties` bean as an
`org.springframework.integration.context.IntegrationProperties`
instance.

This commit allows users to configure these using regular
`application.properties`. If a `META-INF/spring.integration.properties`
file exists, the values are used as fallback.

See gh-25377
4 years ago
Phillip Webb deaff1a522 Merge branch '2.4.x'
Closes gh-25775
4 years ago
Phillip Webb ca9fae6b47 Merge branch '2.3.x' into 2.4.x
Closes gh-25774
4 years ago
Phillip Webb ec21202d54 Delete unpacked jars when the JVM exits
Update `JarFileArchive` so that any unpacked files are now deleted when
the JVM exits.

Closes gh-25773
4 years ago
Phillip Webb 05f61bccea Align unpack logic with Files.createTempDirectory
Update `JarFileArchive` to align the way that it creates temp files and
folders with the way that `Files.createTempDirectory` works.

Closes gh-25772
4 years ago
Phillip Webb b8873578ca Add missing @Deprecated annotations 4 years ago
Phillip Webb b8fdb442b0 Merge branch '2.4.x' 4 years ago
Phillip Webb 9af6c895c9 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 2b591387b8 Restore tomcat-embed TldPatterns
Restore tomcat-embed-core-* and tomcat-embed-logging-* patterns which
were inadvertently removed in commit 0ec8d281ef.

See gh-25764
4 years ago
Phillip Webb 77ddb45704 Merge branch '2.4.x' 4 years ago
Phillip Webb 11a94ee6f0 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb 82127fdaa3 Update copyright year of changed files 4 years ago
Phillip Webb 985e5a4340 Merge branch '2.4.x'
Closes gh-25771
4 years ago
Phillip Webb 56674b9031 Merge branch '2.3.x' into 2.4.x
Closes gh-25770
4 years ago
Phillip Webb 0ec8d281ef Align TldPatterns with Tomcat default
Update `TldPatterns` to align with the latest default shipped by Tomcat.
This commit also introduces a test to ensure that we will remain aligned
going forwards.

Closes gh-25764
4 years ago
Andy Wilkinson 5e3d5ebe21 Merge branch '2.4.x'
Closes gh-25769
4 years ago
Andy Wilkinson 96ba9ae47f Merge branch '2.3.x' into 2.4.x
Closes gh-25768
4 years ago
Andy Wilkinson 62023104de Test auto-configured MockRestServiceServer with metrics and a root URI
Closes gh-25741
4 years ago
Andy Wilkinson ce3dfc5792 Merge branch '2.4.x'
Closes gh-25767
4 years ago
Stephane Nicoll db782f5013 Add environment prefix support to SpringApplicationBuilder
Closes gh-25740
4 years ago
Andy Wilkinson 33cf8b3bc4 Merge branch '2.3.x' into 2.4.x
Closes gh-25765
4 years ago
Andy Wilkinson bf6f36a783 Apply any root URI to RestTemplate metric's URI tag
Previously, a root URI configured via RestTemplateBuilder's rootUri
method and RootUriTemplateHandler was not taken into account when
generated the URI tag for RestTemplate request metrics.

This commit updates MetricsClientHttpRequestInterceptor to be aware
of RootUriTemplateHandler and capture the URI template once the
root URI has been applied.

Fixes gh-25744
4 years ago
Andy Wilkinson f0a8c02efd Provide a constant for graceful shutdown's smart lifecyle phase
In order to provide a single constant for graceful shutdown's smart
lifecycle, this commit replaces the package-private reactive and
servlet-specific implementations with a single public implementation
that can be used by both web stacks. This new public implementation
provides a constant for its smart lifecycle phase.

Closes gh-24255
4 years ago
Andy Wilkinson ca46fe7cd0 Test our Gradle plugin against Gradle 7.0-rc-1
Closes gh-25763
4 years ago
Andy Wilkinson 5dee68c925 Move script-based DataSource initializer into spring-boot
Closes gh-25487
Closes gh-25756
4 years ago
Andy Wilkinson fa336bb565 Move DataSource dependency detection into dedicated package
Closes gh-25757
4 years ago
Stephane Nicoll a900306b17 Merge branch '2.4.x'
Closes gh-25755
4 years ago
Stephane Nicoll 2ecae2df77 Merge branch '2.3.x' into 2.4.x
Closes gh-25754
4 years ago
Stephane Nicoll c2f452a87a Polish "Take JPA database action into account when setting ddlAuto"
See gh-25129
4 years ago
bono007 674b01cb06 Take JPA database action into account when setting ddlAuto
See gh-25129
4 years ago
Andy Wilkinson 64f9d8d4fe Deprecate support for Mustache's Environment fallback
Closes gh-21045
4 years ago
Scott Frederick 2dd4010eb0 Merge branch '2.4.x'
Closes gh-25701
4 years ago
Scott Frederick 6f860b441b Merge branch '2.3.x' into 2.4.x
Closes gh-25700
4 years ago
Andy Wilkinson fb670ee654 Drop support for Gradle 5.6.x
Closes gh-24225
4 years ago
Andy Wilkinson 83342c7aa7 Test the Gradle plugin against 7.0-milestone-3
Closes gh-25747
4 years ago
Phillip Webb 26ee346510 Polish 'Support OpenMetrics text format with Prometheus'
Closes gh-25564
4 years ago
Andy Wilkinson 11b4a19dee Support OpenMetrics text format with Prometheus
Update `PrometheusScrapeEndpoint` so that it can produce both classic
Prometheus text output as well as Openmetrics output.

See gh-25564
4 years ago
Phillip Webb c81a0223cc Refine 'Allow operations to produce different output'
Refine the new `Producible` support so that it can also be used with
`@ReadOperation`, `@WriteOperation` and `@DeleteOperation` annotations.

This update allows the same enum to be used both as an argument and as
an indicator of the media-types that an operation may produce.

Closes gh-25738
4 years ago
Andy Wilkinson 1ec49cee8b Allow operations to produce different output
Update the actuator @Enpoint` infrastructure code so that operations
may inject enums that indicate the type of output to produce. A new
`Producible` interface can be implemented by any enum that indicates
the mime-type that an enum value produces.

The new `OperationArgumentResolver` provides a general strategy for
resolving operation arguments with `ProducibleOperationArgumentResolver`
providing support for `Producible` enums. Existing injection support has
been refactored to use the new resolver.

See gh-25738
4 years ago
Phillip Webb 663fd8ce5e Update copyright year of changed files 4 years ago