Commit Graph

9490 Commits (70f6ada29abe7ea95acfd05befb3714434684554)

Author SHA1 Message Date
Andy Wilkinson 296da88e31 Merge branch '2.1.x' into 2.2.x
Closes gh-21754
5 years ago
Andy Wilkinson c96455f7cf Remove . from CLI's classpath on Unix-like platforms
Previously, the spring bash script added . to the classpath but the
Windows spring.bat script did not. This commit aligns the classpath
of the two scripts by removing . from the classpath in the bash
script.

Fixes gh-19910
5 years ago
Andy Wilkinson 020a47ba3e Document support for Gradle 5
Closes gh-15358
5 years ago
Andy Wilkinson 82b531b49e Merge branch '2.2.x' into 2.3.x 5 years ago
Andy Wilkinson 8da1e3addb Merge branch '2.1.x' into 2.2.x 5 years ago
Andy Wilkinson 6a9450ee8b Polish 5 years ago
Phillip Webb f8982bdc14 Polish 'Support userInfo in elasticsearch URI'
See gh-21381
5 years ago
Evgeniy Cheban a72179aa4f Support userInfo in elasticsearch URI
See gh-21381
5 years ago
Phillip Webb abaca95467 Merge branch '2.2.x' into 2.3.x
Closes gh-21744
5 years ago
Phillip Webb bfe1c281f0 Merge branch '2.1.x' into 2.2.x
Closes gh-21743
5 years ago
Phillip Webb 70e0a27949 Drop the use of the term "white list"
Closes gh-21737
5 years ago
Stephane Nicoll 9fd6ff7e88 Start building against Spring Framework 5.2.7 snapshots
See gh-21739
5 years ago
Stephane Nicoll 4c26c7d043 Start building against Spring Framework 5.2.7 snapshots
See gh-21738
5 years ago
Stephane Nicoll d4c8fa9b2a Start building against Spring Framework 5.1.16 snapshots
See gh-21729
5 years ago
Phillip Webb c11abf48d9 Polish 'Allow beans without public constructors to load'
See gh-20929
5 years ago
Vlad Kisel d8d8f9cf0b Allow beans without public constructors to load
Allow `BeanDefinitionLoader` to load classes that don't have public
constructors. The constraint was first introduced in d82c50804f to
solve an issue with anonymous Groovy classes but causes particular
problems with `@SpringBootTest`.

See gh-20929
5 years ago
dreis2211 2b5569f054 Polish
See gh-21732
5 years ago
Stephane Nicoll 44f375c508 Start building against Reactor Dysprosium-SR8 snapshots
See gh-21731
5 years ago
Stephane Nicoll f4f9df3d10 Start building against Reactor Dysprosium-SR8 snapshots
See gh-21730
5 years ago
Stephane Nicoll 0b0187cd0d Start building against Reactor Californium-SR19 snapshots
See gh-21728
5 years ago
Phillip Webb 2f973ebc33 Fix default Launcher.isExploded() result
Fix the default implementation of `Launcher.isExploded` which should
have returned `true`.

Fixes gh-21575
5 years ago
Phillip Webb 47c1928189 Polish 'Optimize SystemEnvironmentPropertyMapper'
Introduce a new `ConfigurationPropertyName.ofIfValid` method to
save us needing to throw and catch an exception unnecessarily.

See gh-21523
5 years ago
dreis2211 0378de7b30 Optimize SystemEnvironmentPropertyMapper
See gh-21523
5 years ago
dreis2211 f8d6d9a4b0 Call append only when necessary
See gh-21523
5 years ago
dreis2211 33deba4948 Use chars rather than strings
Update `SystemEnvironmentPropertyMapper` to use single chars
rather than strings whenever possible.

See gh-21523
5 years ago
Phillip Webb cc50605687 Merge branch '2.2.x' into 2.3.x 5 years ago
Phillip Webb 0a05b4c9fd Update copyright year of changed files 5 years ago
Phillip Webb 9a235197dc Propagate manifest to exploded jars
Update `LaunchedURLClassLoader` so that packages defined from exploded
archive folders have manifest attributes applied to them. Prior to this
calling `package.getImplementationTitle()` would only return the a
manifiest attribute when running non-exploded.

The root cause of this issue is the way that `URLClassLoader` handles
the different URL types. For URLs that reference a jar the manifest is
available. For URLs that reference a folder it isn't. When running
exploded we use a URL that references to the `BOOT-INF/classes` folder
directly. To fix the issue we now attempt to detect when `definePackage`
is being called directly, and replace `null` entries with actual
manifest values.

Fixes gh-21705
5 years ago
Stephane Nicoll 400a168ce9 Merge branch '2.2.x' into 2.3.x
Closes gh-21720
5 years ago
dreis2211 9bb22ffb69 Remove usages of deprecated Connector.setAttribute()
See gh-21671
5 years ago
Stephane Nicoll 79a5ca2941 Merge branch '2.2.x' into 2.3.x 5 years ago
Stephane Nicoll eb38eeaf30 Polish 5 years ago
Toshiaki Maki 0cd526c266 Fix event name in documentation
See gh-21692
5 years ago
Stephane Nicoll 4624bf6552 Polish "Add reference to rocketmq-spring-boot-starter"
See gh-21653
5 years ago
ThierrySquirrel c547567882 Add reference to rocketmq-spring-boot-starter
See gh-21653
5 years ago
Andy Wilkinson 24138c104c Use highlightjs for syntax highlighting in Asciidoctor's HTML output
Closes gh-21701
5 years ago
Phillip Webb 4d37430bfe Use servlet context that can access classloader
Update `SpringBootServletInitializer` to use the `ServletContext` that
was provided to the initial `onStartup` call rather than the
one from the `ServletContextEvent`. This allows the `getClassLoader()`
call to complete without throwing an `UnsupportedOperationException`.

Fixes gh-21684
5 years ago
Scott Frederick 29253264b4 Improve Docker API 5xx error messages
This commit improves the error messages returned by the Spring Boot
build plugins when a 5xx status code is returned from the Docker
API while attempting to build an image. If the error response has
contents containing a JSON structure with a "message" key, the value
associated with that key will be included in the exception message
and in the build plugin output error.

Fixes gh-21515
5 years ago
Andy Wilkinson daeca9f332 Restore Boot 2.2's compile-scoped dependencies
Fixes gh-21507
5 years ago
Andy Wilkinson 210e565741 Use dirMode and fileMode to configure CLI archive entry permissions
Closes gh-21453
5 years ago
Andy Wilkinson a2bfdb5b33 Merge branch '2.2.x' into 2.3.x
Closes gh-21663
5 years ago
Andy Wilkinson 29c2a0471d Add Oracle DB dependency management under com.oracle.database
Closes gh-20333
5 years ago
Phillip Webb e39d7971fb Merge branch '2.2.x' into 2.3.x 5 years ago
Phillip Webb 864daab03a Merge branch '2.1.x' into 2.2.x 5 years ago
Phillip Webb b5fe3c3494 Refine YAML type restriction error
Closes gh-21596
5 years ago
Phillip Webb ebb3f5f286 Merge branch '2.2.x' into 2.3.x
Closes gh-21660
5 years ago
Phillip Webb 4fc0dec6c4 Support wrapped random property sources
Update `SpringConfigurationPropertySource` so that wrapped random
property sources can be used. It's assumed that wrapped random
sources will use the name of the source as the prefix.

Closes gh-21595
5 years ago
Madhura Bhave 2dc8048d08 Add missing since tags
Closes gh-21576
5 years ago
Phillip Webb 2589f980d5 Merge branch '2.2.x' into 2.3.x
Closes gh-21655
5 years ago
Phillip Webb 09a47c9aad Fix containsDescendantOf for random sources
Fix the `containsDescendantOf` logic for random property sources to
ensure that ancestors are correctly matched.

Closes gh-21654
5 years ago
Andy Wilkinson f0bc8ee73c Fix version placeholder replacement in Gradle plugin docs
Closes gh-21640
5 years ago
Madhura Bhave 1f28141f3e Use the right property in test 5 years ago
Phillip Webb 4dff0beb80 Merge branch '2.2.x' into 2.3.x
Closes gh-21645
5 years ago
Phillip Webb 14e6c734a9 Merge branch '2.1.x' into 2.2.x
Closes gh-21643
5 years ago
Phillip Webb 95031295b9 Restore TomcatReactiveWebServerFactoryTests
Restore tests that were previously ignored due to a framework bug.

Closes gh-19702
5 years ago
Madhura Bhave d3f72326d0 Merge branch '2.2.x' into 2.3.x
Closes gh-21642
5 years ago
Madhura Bhave 573cb98d90 Make management security configuration back off when SAML present
Fixes gh-21620
5 years ago
Andy Wilkinson 3d143e59e7 Fix inclusion of version-specific content in Gradle plugin's docs
Fixes gh-21610
5 years ago
Andy Wilkinson b1777b9dee Use stable file repository for testing snapshot layers
Closes gh-21629
5 years ago
Scott Frederick 7722394e19 Provide better error message if Docker is not running
Previously, if the Spring Boot build plugins got a connection error
when attempting to communicate with a Docker daemon (for example,
when the daemon isn't running), the error message made it appear that
the daemon returned an HTTP error code. This commit makes a connection
error distinct from an HTTP error response code to make it easier for
the user to diagnose the root cause of the problem.

Fixes gh-21554
5 years ago
Andy Wilkinson d3ef6f2382 Prepare 2.3.x branch 5 years ago
Phillip Webb a84b7bccf1 Merge branch '2.2.x' 5 years ago
Phillip Webb 14c9804c5c Fix checkstyle issues 5 years ago
Phillip Webb 1c3f147c1e Merge branch '2.2.x'
Closes gh-21598
5 years ago
Phillip Webb af90604030 Merge branch '2.1.x' into 2.2.x
Closes gh-21597
5 years ago
Phillip Webb 587b840666 Restrict use of custom YAML types
Update `YamlJsonParser` and `OriginTrackedYamlLoader` to ensure that
custom types cannot be loaded.

Closes gh-21596
5 years ago
Andy Wilkinson f17f1255a4 Do not change availability on close unless context is active
Previously, an AvailabilityChangeEvent was published when the servlet
and reactive web server application contexts were closed, irrespective
of whether or not the context was active. This caused problems when
the context was not active due to a refresh failure as the event
publication could then trigger bean creation and post-processing that
relied upon beans that had been destroyed when cleaning up after the
refresh failure. The most commonly seen symptom was a missing
importRegistry bean that is required by ImportAwareBeanPostProcessor.

This commit updates the two web server application contexts to only
publish the availability change event if the context is active.

Fixes gh-21588
5 years ago
Stephane Nicoll b5673db6fa Fix dependency management for Kafka
Kafka 2.5 no longer provides artifacts for Scala 2.11

Closes gh-21589
5 years ago
Stephane Nicoll 4317b29b9a Tolerate change in method format
This commit polishes the assertions of the NoSuchMethodError failure
analyzer as the method format changes according to the JDK.

See gh-21587
5 years ago
dreis2211 b498d3903f Upgrade to Testcontainers 1.14.2
See gh-21581
5 years ago
Stephane Nicoll 35121f182e Harmonize Period conversion support
Closes gh-21574
5 years ago
Andy Wilkinson 744b4d7c26 Include type hierarchy in NoSuchMethodError failure analysis
Closes gh-21587
5 years ago
Stephane Nicoll b21c09020d Polish "Polish duration support javadoc"
See gh-21579
5 years ago
OrangeDog 1a87fce416 Polish duration support javadoc
See gh-21579
5 years ago
Stephane Nicoll 9cf448863a Restore RestClientBuilderCustomizer in its original location
This commit restores RestClientBuilderCustomizer in the rest package in
a deprecated fashion so that the upgrade from 2.2 is smoother.

Closes gh-21572
5 years ago
Andy Wilkinson ba23368440 Configure attributes on productionRuntimeClasspath
Previously, the productionRuntimeClasspath configuration was created
without any attributes. This caused problems with multi-project
dependency resolution as there was insufficient information for Gradle
to determine which variant of a dependency should be used by the
productionRuntimeClasspath configuration.

This commit updates the configuration to have three attributes, each
configured with the same values as those of Gradle's own
runtimeClasspathConfiguration.

Fixes gh-21549
5 years ago
Stephane Nicoll 069c31a074 Map connection and read timeouts for New Relic again
Closes gh-21440
5 years ago
Stephane Nicoll 53bf65df47 Merge branch '2.2.x'
Closes gh-21563
5 years ago
Bram De Cneudt 591d234e43 Fix links for Apache Camel starter
See gh-21540
5 years ago
Toshiaki Maki b4817c85b1 Fix default value for spring.data.jpa.repositories.bootstrap-mode
See gh-21492
5 years ago
Stephane Nicoll b9a1a70fcc Merge branch '2.2.x'
Closes gh-21562
5 years ago
Stephane Nicoll 77981ac2ae Polish "Use the container IP address for tests using TestContainer"
See gh-21480
5 years ago
olivier lamy 0c2bf70bb8 Use the container IP address for tests using TestContainer
See gh-21480
5 years ago
Stephane Nicoll 1d2d76b051 Merge branch '2.2.x'
Closes gh-21560
5 years ago
Stephane Nicoll afcb5d54b2 Polish "Fix uri tag for empty path"
See gh-21392
5 years ago
Jon Schneider f78f2d57e1 Fix uri tag for empty path
See gh-21392
5 years ago
Brian Clozel 18e0db6326 Document health probes config property in Actuator section
This commit mentions the `management.health.probes.enabled`
configuration property in the Kubernetes Probes section of the Actuator
chapter.

Enabling this property is required if we need to expose Kubernetes
Probes in a non-Kubernetes environment.

Fixes gh-21505
5 years ago
Brian Clozel a12a3054c9 Optimize UrlPathHelper configuration for Spring MVC
Prior to this commit, Spring Boot would auto-configure Spring MVC and
would keep the default `UrlPathHelper` configuration.
Since Spring Boot is in charge of configuring the `DispatcherServlet`
and its mapping, it is in a position to optimally configure the
`UrlPathHelper` depending on the chosen mapping.

This commit sets the `alwaysUseFullPath` property of `UrlPathHelper` if
the Servlet mapping is `"/"`. This is more efficient since this
configuration requires less processing of the request path.

Closes gh-21499
5 years ago
Brian Clozel 525e03d3b5 Add welcome page support for Spring WebFlux
This commit adds the support for static and templated welcome pages with
Spring WebFlux. The implementation is backed by a `RouterFunction`
that's serving a static `index.html` file or rendering an `index` view.

Closes gh-9785
5 years ago
Scott Frederick ed4a7d4ba0 Use default tag when pulling run image
Prior to this commit, a default tag of 'latest' was used when no tag
was included in the builder image name used when building an image in
the Maven and Gradle plugins, but the tag for the run image was left
empty if it was not provided. This resulted in errors when pulling
the run image from an image repository. This commit applies the
same tag defaulting logic to the run image name.

Fixes gh-21532
5 years ago
Madhura Bhave 146ebf107c Merge branch '2.2.x'
Closes gh-21529
5 years ago
Moritz do Rio Schulze 1e168a2145 Fix typo in section 4.30.6
See gh-21485
5 years ago
dreis2211 62deec715f Avoid allocations in ConfigFileApplicationListener
See gh-21509
5 years ago
Scott Frederick 07d842b51d Polish maven build image command line example 5 years ago
Scott Frederick a5c42ce4c4 Polish `Add gradle build image command line example`
See gh-21490
5 years ago
Dave Syer 88a32d2fb9 Add gradle build image command line example
See gh-21490
5 years ago
Scott Frederick c5fd09d06d Merge branch '2.2.x'
Closes gh-21522
5 years ago
Scott Frederick 4a812fc29c Fix log name in ServletWebServerApplicationContext
Fixes gh-21354
5 years ago
Andy Wilkinson 14ba7442d9 Ensure that spring-boot-parent is imported into generated pom
Fixes gh-21518
5 years ago
Andy Wilkinson beb7cb4b81 Preserve property ordering in SpringIterableConfigurationPropertySource
Fixes gh-21470
5 years ago
wonwoo 25723be26f Polish
See gh-21481
5 years ago
Andy Wilkinson ee758fa670 Use HTTPS for license links
This commit updates the MavenPublishingConventions to use HTTPS to
link to the Apache license. The configuration of NoHTTP has also
been reworked so that it will correctly find usch uses of http://
URLs.

Closes gh-21459
5 years ago
Andy Wilkinson 3f56f97e03 Merge branch '2.2.x'
Closes gh-21472
5 years ago
Andy Wilkinson 4a896f2272 Merge branch '2.1.x' into 2.2.x
Closes gh-21471
5 years ago
Andy Wilkinson fdc63d71fe Use HTTPS when linking to groovy-lang.org
Closes gh-21466
5 years ago
Phillip Webb eb3b0f82a3 Use http liquibase XSDs
Update the lquibase test to use `http://` rather than `https://` so that
it can be resolved from the local jar.
5 years ago
Brian Clozel 42d07a7acd Fix published Maven POMs
Prior to this commit, the published Maven POMs would not pass the Maven
Central mandatory checks.

This commit adds the missing project name and description metadata for
most artifacts. The Spring Boot Gradle plugin artifact was also missing
this information and this is now added in the plugin metadata itself.
This is also updating the project page URL which is now hosted directly
on spring.io.

Fixes gh-21457
5 years ago
Andy Wilkinson cea37819b8 Fix file permissions in the CLI's zip and tar distributions
Fixes gh-21451
5 years ago
Andy Wilkinson d0f16d6fe6 Merge branch '2.2.x'
Closes gh-21450
5 years ago
Andy Wilkinson c35ed9100b Only enforce spring-boot-parent's constraints internally
See gh-21350
5 years ago
Andy Wilkinson b78e4dacec Work around file handle leak when Undertow is stopped
There's a bug in Undertow that means it may leak a file handle is
the server is stopped immediately after a response to an SSL request
has been received. The stop processing races with Undertow's SSL
support tidying things up after sending the response. When the stop
processing wins, the tidying up fails with a NullPointerException that
prevents an input stream from being closed. On Windows, the input
stream remaining open prevents JUnit from being able to clean up its
temporary directory.

This commit uses Awaitility to wait for the file that's being served
over SSL to be deleted before stopping the server. On Windows, this
will delay the stop processing from beginning until after the tidy up
that's performed after sending the response has been completed,
hopefully eliminating the race condition that resulted in the input
stream being left open.

Fixes gh-21172
5 years ago
Stephane Nicoll e6376fcd6e Fix web services tests on JDK 11+
Closes gh-17274
5 years ago
Andy Wilkinson 96bd9daab7 Compile doc's Java examples and allow them to be imported into Eclipse
Closes gh-21445
5 years ago
Phillip Webb 194c9fac64 Polish 'Add @WebServiceClientTest slice test support'
See gh-17274
5 years ago
Dmytro Nosan a4104ab096 Add @WebServiceClientTest slice test support
Add `@WebServiceClientTest` and related test auto-configuration to allow
slice testing of Spring Web Service client applications.

See gh-17274
5 years ago
Stephane Nicoll f1c2dd6196 Upgrade to Spring Integration 5.3.0.RELEASE
Closes gh-21385
5 years ago
Stephane Nicoll d12ed468c8 Upgrade to Spring Session Dragonfruit-RELEASE
Closes gh-21386
5 years ago
Phillip Webb fd505e516f Merge branch '2.2.x'
Closes gh-21444
5 years ago
Phillip Webb 49a21ded7a Create endpoint beans as late as possible
Update `EndpointDiscoverer` so that `@Endpoint` and `@EndpointExtension`
beans are created as late as possible.

Prior to this commit, endpoint beans and extension beans would be
created during the discovery phase which could cause early bean
initialization. The problem was especially nasty when using an embedded
servlet container since `ServletEndpointRegistrar` is loaded as the
container is initialized. This would trigger discovery and load all
endpoint beans, including the health endpoint, and all health indicator
beans.

Fixes gh-20714
5 years ago
Madhura Bhave 5acd115cb3 Add redis sentinel password property
Closes gh-21353
5 years ago
Phillip Webb 038ae93406 Update copyright year of changed files 5 years ago
Phillip Webb 12381467da Polish 5 years ago
Madhura Bhave 4d521e712f Merge branch '2.2.x' 5 years ago
Madhura Bhave 27ada029b5 Revert "Expose property to configure OAuth2 provider configurationMetadata"
This reverts commit 7b79029949.

See gh-21375
5 years ago
Andy Wilkinson 6a3dec438c Upgrade to Spring Kafka 2.5.0.RELEASE
Closes gh-21387
5 years ago
Phillip Webb 6a1f61c1bf Merge branch '2.2.x' 5 years ago
Phillip Webb daed512076 Restore getUseRelativeRedirects in deprecated form
Restore the `getUseRelativeRedirects` method with a `Boolean` object
result and introduce `isUseRelativeRedirects` for the primitive boolean
variant.

See gh-20796
5 years ago
Phillip Webb 5157a75119 Polish 5 years ago
Andy Wilkinson 9be7fa8e1f Upgrade to XMLUnit 2.7.0
Closes gh-21419
5 years ago
Andy Wilkinson 8b6cdbb977 Deregister JDBC drivers when deployed war's ServletContext is destroyed
Closes gh-21221
5 years ago
Andy Wilkinson 9e569cf1b0 Remove non-user-facing packages from the javadoc
Closes gh-20517
5 years ago
dreis2211 1c7f2d6ea6 Upgrade to Testcontainers 1.14.1
See gh-21378
5 years ago
Andy Wilkinson 0ef7f909b8 Disable generation of Gradle metadata for spring-boot-dependencies
Gradle's metadata for a platform does not provide a way to define
exclusions in the same way that can be done in <dependencyManagement>
in a Mavne bom. This means that Gradle 6 users lose the exclusions
that are defined in the pom as Gradle 6 will use the metadata rather
than the pom.

Until such a time as Gradle's metadata supports the configuration of
such exclusions we can avoid the problem by disabling the metadata's
publication.

Fixes gh-21350
5 years ago
Andy Wilkinson 4169724b86 Disable test that is flaky due to Reactor Netty problem
See gh-21437
5 years ago
Stephane Nicoll a5f826fc78 Fix typo 5 years ago
Stephane Nicoll f43419054d Include all deprecated properties in migration report
This commit expands the migration check to all deprecated properties,
not only the ones that have been effectively removed. This provides more
information upfront, including keys that still work in the current
release but will need to be renamed sooner than later anyway.

Closes gh-21425
5 years ago
Stephane Nicoll 786dae5d9a Use "release notes" in message as it is more generic 5 years ago
Stephane Nicoll 23c5549832 Polish 5 years ago
Andy Wilkinson a03426af57 Configure the Asciidoctor revnumber in a central location
See gh-20934
5 years ago
Phillip Webb 0607af870d Improve ConfigurationPropertySource performance
Further improve the performance of `containsDescendantOf` by using
a Map to limit the number of candidates that need checking.

Closes gh-21416
5 years ago
Phillip Webb 4af6e7ff99 Improve ConfigurationPropertySource performance
Attempt to improve the performance of the `ConfigurationPropertySource`
adapters `containsDescendantOf` method. The method now operates on
arrays rather than iterators and reduces the inner for-loop when
possible.

See gh-21416
5 years ago
Madhura Bhave 376098d080 Set asciidoctor revnumber to null
Closes gh-20934
5 years ago
Andy Wilkinson 4c4097a29b Address flakiness in TomcatServletWebServerFactoryTests 5 years ago
Andy Wilkinson 8cf56069d2 Allow more time for shutdown result callback to be received
5 seconds isn't always sufficient, particularly on CI where the timing
can be quite variable.
5 years ago
Scott Frederick 90ce472252 Support local socket path in DOCKER_HOST
Prior to this commit, if a DOCKER_HOST environment variable was present
when attempting to communicate with a Docker daemon, it was assumed
that the value of that variable was an address that could be used to
create an HTTP connection to a remote daemon. In some cases, the value
of the variable is the path to a local socket file, which would cause
the HTTP connection to fail.

This commit adds additional validation of the value of the DOCKER_HOST
environment variable to determine whether it is a remote address or
a local socket file and create the appropriate connection type.

Fixes gh-21173
5 years ago
Andy Wilkinson 86e6ec04b2 Fix hang caused by race condition in test for reset of kept-alive connection
Previously, a race between the server starting to reject requests
on a kept-alive connection and the request reaching the blocking
servlet could result in a response never being sent.

This commit updates the test to disable blocking once graceful
shutdown with an in-flight request has being. Awaitility is then used
to make a request on an idle kept-alive connection until it fails
due to the connection reset. This may not happen immediately due to
the aforementioned race.
5 years ago
Madhura Bhave 453ca01338 Merge branch '2.2.x'
Closes gh-21429
5 years ago
Madhura Bhave 7b79029949 Expose property to configure OAuth2 provider configurationMetadata
Closes gh-21375
5 years ago
Andy Wilkinson 0bb687717c Auto-configure a lifecycle processor with configurable timeout
Closes gh-21347
5 years ago
Andy Wilkinson 240898121f Use SmartLifecycle for graceful web server shutdown
Closes gh-21325
5 years ago