Commit Graph

675 Commits

Author SHA1 Message Date
Andy Wilkinson
c5cfb8750b Delete files after destroying processes that may be accessing them
Closes gh-25457
2021-03-03 16:42:49 +00:00
Andy Wilkinson
59d8c97634 Merge branch '2.4.x'
Closes gh-25482
2021-03-03 13:46:58 +00:00
Andy Wilkinson
e984f0ca31 Merge branch '2.3.x' into 2.4.x
Closes gh-25481
2021-03-03 13:46:39 +00:00
dreis2211
b0a6e92fb6 Speed up spring-boot-server-tests
See gh-25457
2021-03-03 13:34:41 +00:00
Andy Wilkinson
c35a4cc283 Merge branch '2.4.x'
See gh-25450
2021-02-26 15:46:52 +00:00
Andy Wilkinson
12d3b15244 Ensure that Jersey's filter has a servlet at the end of its chain
See gh-25449
2021-02-26 15:42:13 +00:00
Andy Wilkinson
54ba9e6ddf Merge branch '2.4.x'
Closes gh-25450
2021-02-26 14:30:47 +00:00
Andy Wilkinson
cb600f1c0b Merge branch '2.3.x' into 2.4.x
Closes gh-25449
2021-02-26 14:26:57 +00:00
Andy Wilkinson
8f72ca6521 Use ResourceConfig customization to register endpoints with Jersey
Previously, actuator endpoints were registered with Jersey upon
injection of the ResourceConfig bean into a registrar class rather than
using a ResourceConfigCustomizer. This was done to fix a problem
when running the Actuator on a separate port where the main application
context's customizers were also applied to the management context,
breaking the singleton contract for those resources. This approach
meant that the registration could be performed at any point after the
ResourceConfig had been created. When Jersey's configured as a Filter
this resulted in the registration failing as the attempt was being made
after the Filter lifecyle callbacks which make the ResourceConfig
immutable.

This commit reworks the endpoint registration to be performed using a
ManagementContextResourceConfigCustomizer, a resource config customizer
that's only applied to the ResourceConfig that's used by the Actuator.
When there's a separate management context, this ResourceConfig is
created by the Actuator's auto-configuration and the management context
resource config customizers are applied to it during its creation. The
main application's customizers are not applied. When the actuator is
using the same context as the main application, this ResourceConfig is
created by the main application. In this case a
ResourceConfigCustomizer is defined that delegates to all
ManagementContextResourceConfigCustomizers, allowing them to register
the actuator endpoints with the main ResourceConfig.

Fixes gh-25262
2021-02-26 14:25:24 +00:00
Andy Wilkinson
8ada183422 Merge branch '2.4.x'
Closes gh-25448
2021-02-26 14:07:00 +00:00
Andy Wilkinson
24b2bb9202 Merge branch '2.3.x' into 2.4.x
Closes gh-25447
2021-02-26 14:06:42 +00:00
dreis2211
4ff9e5edaa Split DeploymentIntegrationTests by container
Prior to this commit, every test started a new testcontainer. By splitting the
tests apart we can make use of static containers that are only instantiated once
per application (TomEE, Wildfly etc.)

See gh-25446
2021-02-26 14:04:17 +00:00
dreis2211
d55d8d6b19 Rename DeploymentIntegrationTests
See gh-25446
2021-02-26 14:04:08 +00:00
Andy Wilkinson
888ca442fa Merge branch '2.4.x'
Closes gh-25441
2021-02-25 18:04:25 +00:00
Andy Wilkinson
62737b1274 Merge branch '2.3.x' into 2.4.x
Closes gh-25440
2021-02-25 18:04:10 +00:00
dreis2211
8bacbff629 Remove spring-boot-smoke-test-jta-jndi
See gh-25434
2021-02-25 18:02:25 +00:00
Andy Wilkinson
2f83a6714b Rework DataSource initialization
Previously, DataSource initialization was triggered via a
BeanPostProcessor or a schema created event from JPA. This caused
numerous problems with circular dependencies, bean lifecycle, etc and
added significant complexity.

This commit reworks DataSource initialization to remove the use of a
BeanPostProcessor entirely. In its place, DataSource initialization is
now driven by an InitializingBean with dependency relationships
between beans ensuring that initialization has been performed before
the DataSource is used. This aligns with the approach that's worked
well with Flyway and Liquibase.

More changes are planned to further simplify DataSource initialization.
The changes in this commit are a foundation for those changes. Any new
public API in this commit is highly likely to change before the next
GA.

Fixes gh-13042
Fixes gh-23736
2021-02-17 12:10:22 +00:00
Andy Wilkinson
db781a0d84 Merge branch '2.4.x'
See gh-25077
2021-02-02 15:14:18 +00:00
Andy Wilkinson
788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
2021-02-02 15:12:27 +00:00
Andy Wilkinson
67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
2021-02-02 13:03:21 +00:00
Phillip Webb
d8b6960997 Merge branch '2.4.x'
Closes gh-25077
2021-02-01 16:08:57 -08:00
Phillip Webb
257608a3a3 Merge branch '2.3.x' into 2.4.x
Closes gh-25076
2021-02-01 16:03:43 -08:00
Phillip Webb
939b5dfc26 Add junit-platform-launcher dependency
Update `build.gradle` files to ensure that `junit-platform-launcher` is
a `testRuntimeOnly` dependency. This ensures that tests can be run from
Eclipse.

Closes gh-25074
2021-02-01 15:31:28 -08:00
Phillip Webb
c9a2c4e326 Merge branch '2.4.x' 2021-01-26 19:06:48 -08:00
Madhura Bhave
d07e351eff Polish " Change info endpoint to be secure and unexposed by default"
See gh-24715
2021-01-21 15:13:53 -08:00
Hatef Palizgar
53c1e79810 Change info endpoint to be secure and unexposed by default
See gh-24715
2021-01-21 13:54:59 -08:00
Phillip Webb
a196a9bd8f Merge branch '2.4.x'
Closes gh-24949
2021-01-20 13:49:37 -08:00
Phillip Webb
69fbd2f8aa Delegate usesPathPatterns() call to mappings
Update `CompositeHandlerMapping` so that the `usesPathPatterns()` method
returns `true` if any of the delegate mappings return `true`.

Closes gh-24877
2021-01-20 13:49:18 -08:00
Stephane Nicoll
012a199773 Remove Spring Data Solr support
In preparation to the upgrade to Spring Data 2021.0, this commit removes
auto-configuration for Spring Data Solr.

Closes gh-24939
2021-01-20 15:03:42 +01:00
Stephane Nicoll
a18f01addf Remove bitronix support
See gh-24806
2021-01-15 14:14:27 +01:00
Madhura Bhave
b62325a056 Merge branch '2.4.x' 2021-01-04 13:37:05 -08:00
Madhura Bhave
86e94b95c3 Merge branch '2.3.x' into 2.4.x 2021-01-04 13:36:36 -08:00
Madhura Bhave
9928d74a9e Revert fix to enable cors for actuator endpoints
The fix causes a Jersey application to fail in the absence
of a `CorsFilter` or `CorsConfigurationSource` bean.

See gh-11987
2021-01-04 12:25:43 -08:00
Stephane Nicoll
1e8d5c37ed Merge branch '2.4.x'
Closes gh-24607
2020-12-23 16:09:13 +01:00
izeye
5e3f618f9d Polish
See gh-24604
2020-12-23 16:08:21 +01:00
Phillip Webb
82791b4eda Improve performance of Tomcat 'jar:war:file' URLs
Update jar `Handler` fallback logic to directly support Tomcat
'jar:war:file' URLs. This commit allows contents to be accessed without
the JDK needing to extracted the nested jar to the temporary folder.

Closes gh-24553
2020-12-17 22:51:19 -08:00
Phillip Webb
abd0b484bc Merge branch '2.3.x' into 2.4.x 2020-12-17 22:50:19 -08:00
Phillip Webb
b351288f48 Fix integration test app detection
See gh-18631
2020-12-17 22:32:56 -08:00
Phillip Webb
a2a153ade6 Fix name clash with integration test apps
Rename "app" projects in `spring-boot-launch-script-tests` and
`spring-boot-loader-tests` to something unique.

See gh-18631
2020-12-17 22:00:12 -08:00
Phillip Webb
0730949325 Merge branch '2.3.x' into 2.4.x
Closes gh-24554
2020-12-17 20:47:13 -08:00
Phillip Webb
c4e41305d5 Prevent Tomcat URL "reflective access" warnings
Update the jar `Handler` class to support a non-reflective fallback
mechanism when possible. The updated code attempts to capture a regular
jar URL before our handler is installed. It can then use that URL as
context when creating the a fallback URL. The JDK jar `Handler` will
be copied from the context URL to the fallback URL.

Without this commit, resolving new Tomcat URLs of the form
`jar:war:file:...` would result in an ugly "Illegal reflective access"
warning.

Fixes gh-18631
2020-12-17 20:43:41 -08:00
Madhura Bhave
a1ea5b49ec Merge branch '2.3.x' into 2.4.x
Closes gh-24542
2020-12-16 14:57:50 -08:00
Madhura Bhave
09e07428cc Configure CORS in default security configuration for MVC
Fixes gh-11987
2020-12-16 14:55:36 -08:00
Phillip Webb
72d36e0c07 Update copyright year of changed files 2020-12-10 10:46:04 -08:00
Stephane Nicoll
60530b9b5b Merge branch '2.3.x'
Closes gh-24348
2020-12-07 11:56:35 +01:00
Stephane Nicoll
07e32bf52e Merge branch '2.2.x' into 2.3.x
Closes gh-24347
2020-12-07 11:55:40 +01:00
Stephane Nicoll
f64b7f8465 Use proper CentOS base image
See gh-24344
2020-12-07 11:46:33 +01:00
Stephane Nicoll
a5a8545801 Switch integration tests to CentOS 7
This commit upgrades the docker image for CentOS to Centos 7.9 as
CentOs 6 is EOL since November 30. Given that CentOS 7 does no longer
support SysVinit, this commit also updates the integration tests to not
test this OS anymore.

Closes gh-24344
2020-12-07 10:33:29 +01:00
Phillip Webb
30c27274e2 Merge branch '2.3.x'
Closes gh-24339
2020-12-04 18:31:55 -08:00
Phillip Webb
5f351a6983 Merge branch '2.2.x' into 2.3.x
Closes gh-24338
2020-12-04 18:21:57 -08:00