Commit Graph

359 Commits (00414468035da5a4417d5ed77612948f5ed33921)

Author SHA1 Message Date
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
4 years ago
Andy Wilkinson db781a0d84 Merge branch '2.4.x'
See gh-25077
4 years ago
Andy Wilkinson 788a42d694 Merge branch '2.3.x' into 2.4.x
See gh-25076
4 years ago
Andy Wilkinson 67479b6380 Add junit-platform-launcher dependency by convention
Closes gh-25074
4 years ago
Phillip Webb d8b6960997 Merge branch '2.4.x'
Closes gh-25077
4 years ago
Phillip Webb 257608a3a3 Merge branch '2.3.x' into 2.4.x
Closes gh-25076
4 years ago
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
4 years ago
Phillip Webb c9a2c4e326 Merge branch '2.4.x' 4 years ago
Madhura Bhave d07e351eff Polish " Change info endpoint to be secure and unexposed by default"
See gh-24715
4 years ago
Hatef Palizgar 53c1e79810 Change info endpoint to be secure and unexposed by default
See gh-24715
4 years ago
Phillip Webb a196a9bd8f Merge branch '2.4.x'
Closes gh-24949
4 years ago
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
4 years ago
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
4 years ago
Stephane Nicoll a18f01addf Remove bitronix support
See gh-24806
4 years ago
Madhura Bhave b62325a056 Merge branch '2.4.x' 4 years ago
Madhura Bhave 86e94b95c3 Merge branch '2.3.x' into 2.4.x 4 years ago
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
4 years ago
Stephane Nicoll 1e8d5c37ed Merge branch '2.4.x'
Closes gh-24607
4 years ago
izeye 5e3f618f9d Polish
See gh-24604
4 years ago
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
4 years ago
Phillip Webb abd0b484bc Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb b351288f48 Fix integration test app detection
See gh-18631
4 years ago
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
4 years ago
Phillip Webb 0730949325 Merge branch '2.3.x' into 2.4.x
Closes gh-24554
4 years ago
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
4 years ago
Madhura Bhave a1ea5b49ec Merge branch '2.3.x' into 2.4.x
Closes gh-24542
4 years ago
Madhura Bhave 09e07428cc Configure CORS in default security configuration for MVC
Fixes gh-11987
4 years ago
Phillip Webb 72d36e0c07 Update copyright year of changed files 4 years ago
Stephane Nicoll 60530b9b5b Merge branch '2.3.x'
Closes gh-24348
4 years ago
Stephane Nicoll 07e32bf52e Merge branch '2.2.x' into 2.3.x
Closes gh-24347
4 years ago
Stephane Nicoll f64b7f8465 Use proper CentOS base image
See gh-24344
4 years ago
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
4 years ago
Phillip Webb 30c27274e2 Merge branch '2.3.x'
Closes gh-24339
4 years ago
Phillip Webb 5f351a6983 Merge branch '2.2.x' into 2.3.x
Closes gh-24338
4 years ago
Phillip Webb 837fc83527 Fix checkstyle header violations
See gh-24337
4 years ago
Andy Wilkinson e4380275e5 Merge branch '2.3.x'
Closes gh-24224
4 years ago
Andy Wilkinson 4e9f702681 Only run deployment tests when war has material changes
Closes gh-24137
4 years ago
Andy Wilkinson 4a9ca33026 Upgrade to Micrometer 1.6.1
Closes gh-24051
4 years ago
Stephane Nicoll b6fc0913cf Merge branch '2.3.x'
Closes gh-24104
4 years ago
Stephane Nicoll 515b18e142 Merge branch '2.3.x'
Closes gh-24108
4 years ago
Stephane Nicoll 9e901b6e07 Upgrade to Testcontainers 1.15.0
Closes gh-24103
4 years ago
Stephane Nicoll 23ad2b4156 Rationalize Testcontainers image versions
This commit rationalizes the Docker image names used in integration
tests.

Closes gh-24107
4 years ago
Andy Wilkinson 43b0e2f25c Work around Micrometer JvmGcMetrics introspection failure
Closes gh-23998
4 years ago
Andy Wilkinson 4a47ed97b8 Merge branch '2.3.x'
Closes gh-23997
4 years ago
Andy Wilkinson 8294083c99 Make deployment integration tests run when war changes
Closes gh-23996
4 years ago
Andy Wilkinson f60f3cb38e Exclude property beans from method validation
Exclude `@ConfigurationProperties` beans from method validation so
that `@Validated` can be used on final classes without the method
validation post-processor throwing an exception.

This commit introduces a `FilteredMethodValidationPostProcessor` class
which will use `MethodValidationExcludeFilters` to exclude beans from
method validation processing. Using `@EnableConfigurationProperties`
will automatically register an appropriate filter.

Closes gh-21454
4 years ago
Madhura Bhave 0818f27f44 Configure WebSecurity using WebSecurityCustomizer
Replace `WebSecurityConfigurer` and `WebSecurityConfigurerAdapter`
configurations with `WebSecurityCustomizer` or `SecurityFilterChain`
beans.

Closes gh-23421
4 years ago
Andy Wilkinson 10f887a5ad Introduce management base-path property for servlet and reactive actuator
Previously, the base path of a servlet-based management server could be
configured using management.server.servlet.context-path but there was no
equivalent property for WebFlux.

This commit introduces a new property, management.server.base-path,
that can be used with both servlet and reactive management servers. The
existing servlet-specific property has been deprecated in favour of the
new general property. When using the servlet stack, if both the general
property and the servlet-specific property are set, the new general
property takes precedence. When using the reactive stack, only the new
general property is considered.

Closes gh-22906
4 years ago
Stephane Nicoll ba88c9dc3e Fix configuration of Webflux Spring Session smoke test
See gh-23752
4 years ago
Stephane Nicoll 9efff2af83 Merge branch '2.3.x'
Closes gh-23735
4 years ago