Commit Graph

531 Commits (f689f68695d0f6036c280c0a842699ed691a0858)

Author SHA1 Message Date
Chris Dennis 3ed3d3eb36 Restore Ehcache 3 Support
See gh-30002
3 years ago
Brian Clozel 81754c8bc4 Upgrade to Spring GraphQL 1.0.0-SNAPSHOT
This commit switches to 1.0.0-SNAPSHOT for Spring GraphQL, before its
upcoming 1.0.0-M6 version.

This commit adapts to the changes introduced in
spring-projects/spring-graphql#317 : now that `GraphQlClient` has been
introduced, `GraphQlTester` has been aligned with the new
infrastructure. The `@GraphQlTest` and `@SpringBootTest` testing support
is now using different variants for each.

All samples have been updated to use the proper GraphQL terminology, see
and spring-projects/spring-graphql#310 .

See gh-29637
3 years ago
Andy Wilkinson 0bf1090e29 Merge branch '2.7.x' 3 years ago
Andy Wilkinson a3cdc4e799 Merge branch '2.6.x' into 2.7.x
Closes gh-30088
3 years ago
Andy Wilkinson 344f71c75a Merge branch '2.5.x' into 2.6.x
Closes gh-30087
3 years ago
Andy Wilkinson 4bcb7e2f77 Prevent ActiveProfilesTests from binding to 8080
Due to gh-29695, smoketest.profile.ActiveProfilesTests starts a web
server bound to the default port (8080) despite the test setting
`webEnvironment` to `NONE`.

This commit works around the problem by running the tests with
server.port set to zero.

Closes gh-30086
3 years ago
Andy Wilkinson ddc953468c Merge branch '2.7.x' 3 years ago
Andy Wilkinson 308fe7c552 Merge branch '2.6.x' into 2.7.x
Closes gh-30047
3 years ago
Andy Wilkinson 97222236fe Merge branch '2.5.x' into 2.6.x
Closes gh-30046
3 years ago
Andy Wilkinson 57f935faed Use a more relaxed AliasCheck for CI on Windows
ContextHandler.ApproveAliases has been deprecated. We tried to
replace it with AllowedResourceAliasChecker but it does not
behave in the same way and causes CI failures on Windows.
ContextHandler.ApproveAliases always returns true so we should
hardcode our own implementation that does the same.

Closes gh-30045
3 years ago
Andy Wilkinson 132bf686f8 Merge branch '2.7.x' 3 years ago
Andy Wilkinson 2d9177dd9d Merge branch '2.6.x' into 2.7.x
Closes gh-29955
3 years ago
Andy Wilkinson 3614c8d1f8 Merge branch '2.5.x' into 2.6.x
Closes gh-29954
3 years ago
Andy Wilkinson 1e8d29f7aa Configure Kotlin compilation JVM target by convention
Closes gh-29952
3 years ago
Phillip Webb ff4b92a3ba Update copyright year of changed files 3 years ago
Stephane Nicoll 39e230b5d6 Merge branch '2.6.x' into 2.7.x 3 years ago
Stephane Nicoll 78797572ac Merge branch '2.5.x' into 2.6.x 3 years ago
Stephane Nicoll fa6a1463d0 Polish 3 years ago
Stephane Nicoll 587b278bb4 Merge branch '2.7.x' 3 years ago
Stephane Nicoll 719fb2e8e5 Upgrade to Jetty 9.4.45.v20220203
Closes gh-29843
3 years ago
Stephane Nicoll dc171c6462 Upgrade to Jetty 9.4.45.v20220203
Closes gh-29791
3 years ago
Stephane Nicoll a99582a3bb Upgrade to Jetty 9.4.45.v20220203
Closes gh-29771
3 years ago
Stephane Nicoll 3b4832445b Merge branch '2.7.x' 3 years ago
Stephane Nicoll 098a57affb Upgrade to R2DBC Borca-RELEASE
See gh-28524
3 years ago
Stephane Nicoll 8c8c9c5f28 Upgrade to H2 2.1.210
H2 2.x contains several important changes such as moving the primary key
generation mechanism to a sequence-based identifier. This commit fixes
a number of tests that were failing.

Closes gh-29651

Co-authored-by: Andy Wilkinson <wilkinsona@vmware.com>
3 years ago
Stephane Nicoll b22e3d51dc Merge branch '2.7.x' 3 years ago
Henning Poettker e3d0f1feee Adjust IDENTITY in DDLs for H2 2.x compatibility
See gh-29200
3 years ago
Phillip Webb a282f912e6 Organize imports
Organize imports according to updated checkstyle rules.
3 years ago
Stephane Nicoll 41fb9cf562 Merge branch '2.7.x' 3 years ago
Stephane Nicoll f812b33cbd Merge branch '2.6.x' into 2.7.x
Closes gh-29613
3 years ago
Stephane Nicoll 136b5959c3 Merge branch '2.5.x' into 2.6.x
Closes gh-29612
3 years ago
Stephane Nicoll 7f17f819a6 Polish "Enforce use of BDDMockito"
See gh-29178
3 years ago
Yanming Zhou b49418aaaf Enforce use of BDDMockito
1. Replace Mockito.verify*() with BDDMockito.then()
2. Replace Mockito.doReturn() with BDDMockito.willReturn()
3. Adjust checkstyle rule

See gh-29178
3 years ago
Andy Wilkinson 35b5b5672d Merge branch '2.7.x' 3 years ago
Andy Wilkinson 2c049f2b40 Merge branch '2.6.x' into 2.7.x
Closes gh-29501
3 years ago
Madhura Bhave 3460c24a16 Ignore context path when calling privilege evaluator
Previously, the error page security filter passed the request's URI
to the privilege evaluator. This was incorrect in applications with
a custom context path as the privilege evaluator must be passed a
path that does not include the context path and the request URI
includes the context path.

This commit updates the filter to use UrlPathHelper's
pathWithinApplication instead. The path within the application does
not include the context path. In addition, pathWithinAppliation
also correctly handles applications configured with a servlet
mapping other than the default of /.

Closes gh-29299

Co-Authored-By: Andy Wilkinson <wilkinsona@vmware.com>
3 years ago
Andy Wilkinson 26fecbe230 Upgrade to Thymeleaf and Security Extras 3.1.0-M1
Closes gh-49452
Closes gh-49453
3 years ago
Andy Wilkinson 12cd97a20c Reinstate support for Thymeleaf 3 years ago
Phillip Webb cb97aff1e7 Merge branch '2.7.x' 3 years ago
Phillip Webb 9278a502c7 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 14fe9347b5 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 3f7bf7d34f Modify SpringApplication Environment rather than setting it
Update `SpringBootContextLoader` so that when possible the
`SpringApplication` remains in control of creating the `Environment`
instance.

Prior to this commit, we would always create the `Environment` in the
`SpringBootContextLoader` and then call `setEnvironment` on the
`SpringApplication`. This meant that the `ApplicationEnvironment`
classes were not used and that `isCustomEnvironment` was set to `true`
so no conversion was applied.

With the updated code, an `ApplicationListener` is used to mutate the
`Environment` instance and add the required test property sources.

Fixes gh-29169
3 years ago
Phillip Webb 8147eb6d6d Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 3d6840e715 Merge branch '2.7.x'
Closes gh-29376
3 years ago
Phillip Webb fee45e056a Merge branch '2.6.x' into 2.7.x
Closes gh-29375
3 years ago
Phillip Webb 91d2b1b988 Merge branch '2.5.x' into 2.6.x
Closes gh-29374
3 years ago
Phillip Webb eb6b48fff0 Use side-effect free environment with tests rather than converting
Refine the logic introduced in 64270eca to use a side-effect free
Environment implementation rather than converting the Environment early.

Early conversion can cause condition evaluation issues if
`src/test/resources/application.properties` files are bound to the
`SpringApplication`. Specifically the `spring.main.web-application-type`
property can change the `Environment` type which must happen before
conditions are evaluated.

Fixes gh-29169
3 years ago
Stephane Nicoll 69d1c3674a Upgrade to latest Hazelcast 3.x in integration tests 3 years ago
Stephane Nicoll a780e87e9c Upgrade to Hazelcast 5.0.2
See gh-29265
3 years ago
Phillip Webb 06398eabed Merge branch '2.7.x' 3 years ago
Phillip Webb b25e92f3e2 Merge branch '2.6.x' into 2.7.x 3 years ago
Phillip Webb 760dcffd8b Merge branch '2.7.x' 3 years ago
Andy Wilkinson 1dbfcf8b57 Reinstate support for Spring Data Couchbase
Closes gh-28976
3 years ago
izeye 728206dba0 Polish GraphQL changes
See gh-29140
Closes gh-29194
3 years ago
Brian Clozel 88ee4fab36 Polish
See gh-29140
3 years ago
Brian Clozel f61c87c3a7 Revert "Merge branch '2.7.x'"
This reverts commit f0677a119c, reversing
changes made to 938d58f32c.
3 years ago
Brian Clozel f0677a119c Merge branch '2.7.x' 3 years ago
Brian Clozel c522a8007b Add smoke test for Spring GraphQL
See gh-29140
3 years ago
Madhura Bhave 48a6470ddb Merge branch '2.7.x' into main 3 years ago
Madhura Bhave d9d161cd6b Allow previously authorized users to access the error page
Prior to this commit, the `ErrorPageSecurityFilter` verified if
access to the error page was allowed by invoking the
`WebInvocationPrivilegeEvaluator` with the Authentication from the
`SecurityContextHolder`.
This meant that access to the error page was denied for a `null` Authentication
 or `AnonymousAuthenticationToken` in cases where the error page required
authenticated access. This prevented authorized users from accessing the
error page in case the Authentication wasn't retrievable for the error dispatch,
which is the case for `@Transient` authentication or stateless session policy.

This commit updates the `ErrorPageSecurityFilter` to check access to the error page
only if the error is an authn or authz error in cases where an authentication object
is not found in the SecurityContextHolder. This makes the error response consistent
when bad credentials or no credentials are used while also allowing access to previously
authorized users.

Fixes gh-28953
3 years ago
Phillip Webb 7981a82785 Merge branch '2.7.x' 3 years ago
Phillip Webb f676602c96 Merge branch '2.5.x' into 2.6.x 3 years ago
Phillip Webb 783981ba98 Merge branch '2.4.x' into 2.5.x 3 years ago
Phillip Webb d336a96b7f Update web.xml xsd references to for 3.1 version
See gh-29075
3 years ago
Phillip Webb c0023118a9 Merge branch '2.7.x'
Closes gh-29079
3 years ago
Phillip Webb 6e01c3edbe Merge branch '2.5.x' into 2.6.x
Closes gh-29077
3 years ago
Phillip Webb 17363d1b3a Merge branch '2.4.x' into 2.5.x
Closes gh-29076
3 years ago
Phillip Webb 1749c893dc Update web-app version to 3.1
Update the web-app version specified in `web.xml` to 3.1 in order to
make Eclipse happy.

Closes gh-29075
3 years ago
Andy Wilkinson fe7b13ec46 Upgrade to Spring Framework 6 and Jakarta EE 9
Closes gh-28619
Closes gh-28620
Closes gh-28621
Closes gh-28622
Closes gh-28623
Closes gh-28624
Closes gh-28625
Closes gh-28626
Closes gh-28627
Closes gh-28628
Closes gh-28629
Closes gh-28630
Closes gh-28631
Closes gh-28632
Closes gh-28633
Closes gh-28634
Closes gh-28635
Closes gh-28636
Closes gh-28638
Closes gh-28639
Closes gh-28640
Closes gh-28644
Closes gh-28645
Closes gh-28650
Closes gh-28711
Closes gh-28866
Closes gh-28867
Closes gh-28868
Closes gh-28872

See gh-28641
See gh-28642
See gh-28643
See gh-28646
See gh-28647
See gh-28648
See gh-28649
See gh-28721
See gh-28869
See gh-28871
3 years ago
Andy Wilkinson b6ba46942b Remove Atmosphere sample to prepare for Servlet 5 upgrade
Closes gh-28786
3 years ago
Andy Wilkinson c25890354b Remove Hazelcast 3 smoke test to prepare for Hazelcast 5 upgrade
Closes gh-28827
3 years ago
Andy Wilkinson 90e8a7da3a Remove Hibernate 5.2 smoke test to prepare for EE 9 upgrade
Closes gh-28826
3 years ago
Andy Wilkinson 28bce49057 Remove Jetty 10 smoke tests to prepare for Jetty 11 upgrade
Closes gh-28825
3 years ago
Andy Wilkinson ba19440f8c Drop support for EhCache 3 until it supports Jakarta EE 9
Closes gh-28800
3 years ago
Andy Wilkinson a17d6f9791 Drop support for Infinispan until it is Jakarta EE 9 compatible
Closes gh-28799
3 years ago
Scott Frederick 015dca1956 Remove support for Thymeleaf
Closes gh-28611
3 years ago
Andy Wilkinson 85f9949513 Remove support for Jolokia
Closes gh-28704
3 years ago
Andy Wilkinson 8bf2ffd93c Drop support for Jersey until jersey-spring6 is available
Closes gh-28808
3 years ago
Scott Frederick 29a21d4621 Remove support for Spring Data Couchbase and Couchbase caching
Fixes gh-28613
3 years ago
Andy Wilkinson 63492507b4 Remove support for Apache ActiveMQ
Closes gh-28591
3 years ago
Andy Wilkinson 64bf33038d Remove support for EhCache 2
Closes gh-28588
3 years ago
Andy Wilkinson ef02cc9bff Remove support for Atomikos
Closes gh-28589
3 years ago
Andy Wilkinson 814c86c5e8 Raise the minimum supported version of Gradle to 7.3
Closes gh-28100
3 years ago
Phillip Webb beb68671bb Update copyright year of changed files 3 years ago
Scott Frederick 4eed637481 Merge branch '2.5.x'
Closes gh-28789
3 years ago
Scott Frederick 12244a8edd Remove use of Thymeleaf from smoke tests
Closes gh-28788
3 years ago
Phillip Webb b6d0b44703 Fix @SuppressWarnings 3 years ago
Madhura Bhave dd1d1482dc Deny unauthorized access to the error page
Fixes gh-26356

Co-authored-by Andy Wilkinson <wilkinsona@vmware.com>
3 years ago
Madhura Bhave 6b79d2860f Merge branch '2.5.x' into main
Closes gh-28724
3 years ago
Madhura Bhave 64270eca51 Convert environment used by SpringBootTestContextLoader
This commit aligns `SpringBootTest`s to also use `ApplicationEnvironment`
instead of `StandardEnvironment`. This prevents the side-effect of active
profiles from `@ActiveProfiles` from being added to the environment when
doGetActiveProfiles is called. In this case, calling `addActiveProfiles()`
in the environment post processor would result in `@ActiveProfiles` being
added to the environment first, resulting in the wrong order.

The additional call to `setActiveProfiles()` is also not necessary when using
ApplicationEnvironment because that call was put in place to prevent the side-effect
which `ApplicationEnvironment` does not have.

Fixes gh-28530
3 years ago
Andy Wilkinson 2a342ef416 Merge branch '2.5.x'
Closes gh-28662
3 years ago
Andy Wilkinson 5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
3 years ago
Andy Wilkinson 2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
3 years ago
Andy Wilkinson 2541c0cbdc Disable on Windows tests that use embedded Kafka
Closes gh-28406
3 years ago
Madhura Bhave 42d21a8336 Remove parameterization of session smoke tests
There are dedicated smoke tests for Hazelcast, MongoDB and Redis
that run on CI.
This commit also polishes some of the other smoke tests related to
Spring Session
3 years ago
Madhura Bhave 2caa6cb227 Polish "Add smoke tests for Spring Session Redis/Mongo"
See gh-28362
3 years ago
Angel L. Villalain Garcia 9a16c246ec Add smoke tests for Spring Session Redis/Mongo
Add smoke tests that verify the correct behavior of the sessions
endpoint when using Spring Session with MongoDB and Redis.

See gh-28362
3 years ago
Madhura Bhave b350eaee8a Fix checkstyle 3 years ago
Madhura Bhave 8dcf3e2c70 Polish "Add smoke test with Spring Session and Hazelcast"
See gh-28173
3 years ago
Susmitha 70dd655b60 Add smoke test with Spring Session and Hazelcast
See gh-28173
3 years ago
Phillip Webb 55a1ec72cc Update copyright year of changed files 3 years ago
Madhura Bhave 8fd9eb72d4 Allow part of a composite contributor in a health group
Closes gh-23027

Co-authored-by: Phillip Webb <pwebb@vmware.com>
3 years ago
Andy Wilkinson fd2fbcb3c6 Merge branch '2.5.x'
Closes gh-27758
3 years ago
Andy Wilkinson 6d8ba3e8b1 Merge branch '2.4.x' into 2.5.x
Closes gh-27757
3 years ago
Andy Wilkinson ffbd28b60a Polish "Polish access modifiers for test classes"
See gh-27736
3 years ago
izeye 8a425dedfd Polish access modifiers for test classes
See gh-27736
3 years ago
Andy Wilkinson e737388f5c Merge branch '2.5.x'
Closes gh-27654
3 years ago
Andy Wilkinson d6cf46acc5 Merge branch '2.4.x' into 2.5.x
Closes gh-27653
3 years ago
Andy Wilkinson 403dda7f0d Remove field inject and circular reference from Data Mongo smoke test
Closes gh-27651
3 years ago
Andy Wilkinson e265825653 Merge branch '2.5.x'
Closes gh-27506
3 years ago
Andy Wilkinson 08e26c97aa Merge branch '2.4.x' into 2.5.x
Closes gh-27505
3 years ago
Andy Wilkinson 031a036c9f Customize security filter registration in separate management context
Fixes gh-27372
3 years ago
Phillip Webb 7e9ac39f0d Update copyright year of changed files 3 years ago
Andy Wilkinson 37f690323f Polish
Closes gh-27432
3 years ago
Andy Wilkinson bb26b7bdf5 Polish
Closes gh-27431
3 years ago
izeye 734293d491 Polish
See gh-27418
3 years ago
Andy Wilkinson 51fedd6528 Reinstate support for Hibernate < 5.5
See gh-27352
3 years ago
Andy Wilkinson 8259f15451 Fix deprecation warnings
See gh-27383
3 years ago
Andy Wilkinson 0d1d637c73 Merge branch '2.5.x'
Closes gh-27383
3 years ago
Andy Wilkinson c9ccfcc25f Rework Jetty10Http2OverTlsTests so they compile with Java 8
Closes gh-27382
3 years ago
Andy Wilkinson 43f1b98864 Polish "Add @WebServiceServerTest slice test support"
See gh-27091
3 years ago
Andy Wilkinson 3e0baf1bfd Merge branch '2.5.x'
Closes gh-27353
3 years ago
Andy Wilkinson c8c784bd5c Allow @SpyBean to be used to spy on a Spring Data repository
Fixes gh-7033
3 years ago
Andy Wilkinson c00e885ac4 Work around compile warnings from Data Neo4j's use of API Guardian
See gh-27170
3 years ago
bono007 d16ecab24b Remove default spring.mongodb.embedded.version
See gh-27108
3 years ago
Stephane Nicoll 72f5995208 Polish 3 years ago
Andy Wilkinson 580b1b81ab Fix HTTP/2 over TLS with Jetty 10
Fixes gh-26988
3 years ago
Andy Wilkinson 4bf329e266 Correct directory names in Jetty 10 smoke tests
See gh-26847
3 years ago
Andy Wilkinson bc7004d9c6 Fix WebSocket support with Jetty 10.0.x
Fixes gh-26847
3 years ago
Phillip Webb f798f26596 Merge branch '2.4.x' 3 years ago
Phillip Webb 4d62e47c5d Merge branch '2.3.x' into 2.4.x 3 years ago
Phillip Webb 9e1c78da99 Update copyright year of changed files 3 years ago
Phillip Webb 6ab2df5698 Order DataSourceScriptDatabaseInitializer last
Change the order of `DataSourceScriptDatabaseInitializerDetector` so
that it always runs last. This update allows script initialization to
be combined with a high-level migration tool such as Flyway.

Closes gh-26692
3 years ago
Madhura Bhave a28072bab4 Merge branch '2.4.x' into main
Closes gh-26614
4 years ago
Madhura Bhave 27fee5fa95 Configure filter to process preflight requests for webflux actuator endpoints
Fixes gh-24541
4 years ago
Madhura Bhave 3ef9b7e634 Merge branch '2.4.x' into main
Closes gh-26612
4 years ago
Madhura Bhave 743ac4c394 Merge branch '2.3.x' into 2.4.x
Closes gh-26611
4 years ago
Madhura Bhave b26e842050 Configure CORS in default security configuration for MVC
Fixes gh-11987
4 years ago
Andy Wilkinson 24d252e322 Upgrade to Couchbase Client 3.1.5
Closes gh-26531
4 years ago
weixsun 8a2be288a3 Remove unnecessary throws declaration in tests
See gh-26441
4 years ago
Stephane Nicoll 691bbcfdfd Update copyright year of changed files
See gh-26448
4 years ago
weixsun d115361980 Remove redundant suppression
See gh-26448
4 years ago
Andy Wilkinson 000d84eedd Merge branch '2.4.x'
Closes gh-26461
4 years ago
Andy Wilkinson c2ef7578e8 Merge branch '2.3.x' into 2.4.x
Closes gh-26460
4 years ago
Andy Wilkinson 444474926c Configure JTA tests to write logs beneath build/
Closes gh-26440
4 years ago
Andy Wilkinson f92510e39d Merge branch '2.4.x'
Closes gh-26451
4 years ago
Andy Wilkinson 970f933806 Merge branch '2.3.x' into 2.4.x
Closes gh-26450
4 years ago
Andy Wilkinson 2dd94b5554 Polish "Use try-with-resources statement"
See gh-26449
4 years ago
weixsun 5ba9db391f Use try-with-resources statements
See gh-26449
4 years ago
Stephane Nicoll ffbd3b819f Update copyright year of changed file
See gh-26417
4 years ago
nguyensach c82de83202 Use try-with-resources statement
See gh-26417
4 years ago
Phillip Webb beaf03a008 Update copyright year of changed files 4 years ago
Phillip Webb 6cc116b9fb Merge branch '2.4.x' 4 years ago
Phillip Webb c0e12ce5a3 Merge branch '2.3.x' into 2.4.x 4 years ago
Phillip Webb f29c707e6c Increase SampleSessionApplicationTests timeout
Increase timeout in `SampleSessionApplicationTests` to fix flaky local
builds.
4 years ago
dreis2211 4a1924ed73 Fix Spring Data Elasticsearch deprecations
See gh-26078
4 years ago
Stephane Nicoll b11602aeaa Polish "Add Quartz actuator endpoint"
This commit reworks the initial proposal so that jobs and triggers are
treated as first class concepts.

`/actuator/quartz` now returns the group names for jobs and triggers.

`actuator/quartz/jobs` returns the job names, keyed by the available
group names, while `/actuator/quartz/triggers` does the same for
triggers.

`/actuator/jobs/{groupName}` provides an overview of a job group. It
provides a map of job names with the class name of the job.
implementation

`/actuator/triggers/{groupName}` provides an overview of a trigger
group. There are five supported trigger implementations: cron, simple,
daily time interval, calendar interval, and custom for any other
implementation. Given that each implementation has specific settings,
triggers are split in five objects.

`/actuator/jobs/{groupName}/{jobName}` provides the full details of a
particular job. This includes a sanitized data map and a list of
triggers ordered by next fire time.

`/actuator/triggers/{groupName}/{triggerName}` provides the full details
of a particular trigger. This includes the state, its type, and a
dedicate object containing implementation-specific settings.

See gh-10364
4 years ago
Andy Wilkinson e49a88cb9b Auto-configure script-based R2DBC database initialization
See gh-24741
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
Andy Wilkinson 4b0600b558 Merge branch '2.4.x'
Closes gh-25576
4 years ago
Andy Wilkinson 3cc36d518d Merge branch '2.3.x' into 2.4.x
Closes gh-25575
4 years ago
Andy Wilkinson 4d3d56abfe Try to stabilize SampleSessionWebFluxApplicationTests
userDefinedMappingsSecureByDefault in
SampleSessionWebFluxApplicationTests may fail with an NPE if the
session times out before the initial response is sent due to the absence
of a SESSION cookie in the response. The test uses a short session
timeout (2 seconds) and we've seen the problem occur on CI when,
presumably, a noisy neighbour has caused some CPU starvation.

This commit increases the timeout to 5 seconds to reduce the chance of
a short period of CPU starvation causing the test to fail.

Closes gh-25572
4 years ago
Andy Wilkinson 5863edfdda Simplify code that makes hal the default json media type
See gh-25546
4 years ago
Andy Wilkinson ed72bca6c8 Provide more pluggable way to indicate DataSource init dependencies
Closes gh-17619
Closes gh-25559
4 years ago
Andy Wilkinson c35a4cc283 Merge branch '2.4.x'
See gh-25450
4 years ago
Andy Wilkinson 12d3b15244 Ensure that Jersey's filter has a servlet at the end of its chain
See gh-25449
4 years ago
Andy Wilkinson 54ba9e6ddf Merge branch '2.4.x'
Closes gh-25450
4 years ago
Andy Wilkinson cb600f1c0b Merge branch '2.3.x' into 2.4.x
Closes gh-25449
4 years ago
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
4 years ago
Andy Wilkinson 888ca442fa Merge branch '2.4.x'
Closes gh-25441
4 years ago
Andy Wilkinson 62737b1274 Merge branch '2.3.x' into 2.4.x
Closes gh-25440
4 years ago
dreis2211 8bacbff629 Remove spring-boot-smoke-test-jta-jndi
See gh-25434
4 years ago
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 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
izeye 5e3f618f9d Polish
See gh-24604
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
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
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 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
Stephane Nicoll b7a8b0f19b Hacking
See gh-23740
4 years ago
Andy Wilkinson d82acc3ac5 Remove erroneous management.server.address config from Actuator smoke test
See gh-22187
4 years ago
Phillip Webb 1cf9fc107e Improve ConfigData processing code
Refactor `ConfigData` processing code to make it less awkward to
follow.

Prior to this commit the `ConfigDataLocationResolver` would take a
String location and return a `ConfigDataLocation` instance. This was
a little confusing since sometimes we would refer to `location` as the
String value, and sometimes it would be the typed instance. We also
had nowhere sensible to put the `optional:` prefix logic and we needed
to pass a `boolean` parameter to a number of methods. The recently
introduced `Orgin` support also didn't have a good home.

To solve this, `ConfigDataLocation` has been renamed to
`ConfigDataResource`. This frees up `ConfigDataLocation` to be used
as a richer `location` type that holds the String value, the `Orgin`
and provides a home for the `optional:` logic.

This commit also cleans up a few other areas of the code, including
renaming `ResourceConfigData...` to `StandardConfigData...`. It also
introduces a new exception hierarchy for `ConfigDataNotFoundExceptions`.

Closes gh-23711
4 years ago
dreis2211 ecee9c0f9b Avoid unnecessary explicit initialization of Atomics
Constructor calls like new AtomicInteger(0) cause a volatile write that
can be saved in cases where the constructor parameter is the default
value.

See gh-23575
4 years ago
Stephane Nicoll de32fab324 Adapt to API change in Spring Framework 5.3.0 snapshots
See gh-23534
4 years ago
Andy Wilkinson a19a565410 Stop registering the default servlet by default
Previously, the default servlet was registered automatically when using
embedded Jetty, Tomcat, or Undertow. However, it is not used by the
majority of applications where Spring MVC's DispatcherServlet will be
the only servlet that's needed. As such configuring the default servlet
was wasting CPU and memory.

This commit changes the default for registering the default servlet to
false. It can be re-enabled by setting
server.servlet.register-default-servlet=true.

Closes gh-22915
4 years ago
Stephane Nicoll 4009acf025 Add support for Hazelcast
This commit upgrades to Hazelcast 4.0.3, yet keeping compatibility with
Hazelcast 3.x.

Closes gh-20856
Closes gh-23475
4 years ago
Phillip Webb 1ae1436211 Refactor BootstrapRegistry support
Refactor `BootstrapRegistry` support following initial prototype work
with the Spring Cloud team.

This update splits the `BootstrapRegistry` API into `BootstrapRegistry`,
`BootstrapContext` and  `ConfigurableBootstrapContext` interfaces and
moves it to the same package as `SpringApplication`.

A new `Bootstrapper` interface has been introduced that can be added
to the `SpringApplication` to customize the `BootstrapRegistry` before
it's used.

Closes gh-23326
4 years ago
dreis2211 97ec232935 Reinstate smoketest.rsocket.SampleRSocketApplicationTests.rSocketEndpoint()
See gh-23246
4 years ago
Phillip Webb aa2580bb51 Merge branch '2.3.x' 4 years ago
Phillip Webb ba2ab3363b Merge branch '2.2.x' into 2.3.x 4 years ago
Phillip Webb 60b5de192c Merge branch '2.2.x' into 2.3.x 4 years ago
Phillip Webb 4e76138ebc Update copyright year of changed files 4 years ago
Andy Wilkinson 969dd35e45 Upgrade to Mockito 3.4.6
Closes gh-22838
4 years ago
Stephane Nicoll f2a52a87ec Merge branch '2.3.x'
Closes gh-22850
4 years ago
Stephane Nicoll 980ddcffd0 Merge branch '2.2.x' into 2.3.x
Closes gh-22849
4 years ago
Stephane Nicoll dd9c9fd171 Polish "Migrate legacy endpoint that have a dash in their id"
See gh-21615
4 years ago
Gabriele Bianchet-David 0f9f10f97e Migrate legacy endpoint that have a dash in their id
See gh-21615
4 years ago
Andy Wilkinson d1a0d9f11b Merge branch '2.3.x'
Closes gh-22783
4 years ago
Andy Wilkinson 8f27ad9726 Remove version from name of Ant-built jar
Previously, the project version was included in the name of the
Ant-built jar and the integration test assumed that there would be a
single jar in the output directory. This assumption did not hold true
if the project's version had changed and the project had been built
again without a clean. This resulted in two jars, one for the previous
version and one for the current version, in the output directory. This
caused a test failure.

This commit updates the build.xml to remove the version from the name
of the Ant-built jar and updates the integration test to find it.

Closes gh-22782
4 years ago
Danilo Piazzalunga 5352ec1cba Support configuration of entityId for a SAML Relying Party
See gh-22258
4 years ago
Andy Wilkinson 9264f6ab79 Temporarily disable rSocketEndpoint test
See gh-22725
4 years ago
Stephane Nicoll 36fb86a110 Update to core r2dbc support
This commit adapts the auto-configuration for the new core r2dbc support
in Spring Framework and provides auto-configuration for
R2dbcEntityOperations.

Closes gh-22708
4 years ago
Stephane Nicoll 9bc71fe44f Polish "Upgrade to Spring Data Neo4j 6"
See gh-22299
4 years ago
Gerrit Meier 15cd343737 Upgrade to Spring Data Neo4j 6
See gh-22299
4 years ago
Brian Clozel 6f2098ad71 Upgrade to Spring Framework 5.3.0-SNAPSHOT
This commit also switches to RSocket SNAPSHOTs and updates the
repository configuration to rely on "libs-snapshot", since the RSocket
SNAPSHOTs are mirrored there.

See gh-22640
4 years ago
Andy Wilkinson 4a828c7db1 Merge branch '2.1.x' into 2.2.x 4 years ago
Phillip Webb 3352024b1c Provide ConfigFileApplicationListener replacement
Deprecate `ConfigFileApplicationListener` and provide a replacement
mechanism that supports arbitrary config data imports.

This commit updates the following areas:

- Extract `EnvironmentPostProcessor` invocation logic from the
  `ConfigFileApplicationListener` to new dedicated listener. Also
  providing support for `Log` injection.

- Extract `RandomPropertySource` adding logic from the
  `ConfigFileApplicationListener` to a dedicated class.

- Migrate to the recently introduced `DefaultPropertiesPropertySource`
  class when moving the defaultProperties `PropertySource`

- Replace processing logic with a phased approach to ensure that
  profile enablement happens in a distinct phase and that profiles
  can no longer be activated on an ad-hoc basis.

- Provide a more predictable and logical import order for processing
  `application.properties` and `application.yml` files.

- Add support for a `spring.config.import` property which can be used
  to import additional config data. Also provide a pluggable API
  allowing third-parties to resolve and load locations themselves.

- Add `spring.config.activate.on-profile` support which replaces the
  existing `spring.profiles` property.

- Add `spring.config.activate.on-cloud-platform` support which allows
  a config data document to be active only on a given cloud platform.

- Support a `spring.config.use-legacy-processing` property allowing the
  previous processing logic to be used.

Closes gh-22497

Co-authored-by: Madhura Bhave <mbhave@vmware.com>
4 years ago
jfarcand 2d3e19cfe5 Update Atmosphere versions used in smoke test
See gh-221144
4 years ago
Andy Wilkinson 07fb4b065d Merge branch '2.3.x'
Closes gh-21940
4 years ago
Andy Wilkinson 0de466e06e Require dependency on s-b-dependencies to use its constraints
Previously, Spring Boot's modules published Gradle Module Metadata
(GMM) the declared a platform dependency on spring-boot-dependencies.
This provided versions for each module's own dependencies but also had
they unwanted side-effect of pulling in spring-boot-dependencies
constraints which would influence the version of other dependencies
declared in the same configuration. This was undesirable as users
should be able to opt in to this level of dependency management, either
by using the dependency management plugin or by using Gradle's built-in
support via a platform dependency on spring-boot-dependencies.

This commit reworks how Spring Boot's build uses
spring-boot-dependencies and spring-boot-parent to provide its own
dependency management. Configurations that aren't seen by consumers are
configured to extend a dependencyManagement configuration that has an
enforced platform dependency on spring-boot-parent. This enforces
spring-boot-parent's version constraints on Spring Boot's build without
making them visible to consumers. To ensure that the versions that
Spring Boot has been built against are visible to consumers, the
Maven publication that produces pom files and GMM for the published
modules is configured to use the resolved versions from the module's
runtime classpath.

Fixes gh-21911
4 years ago
Phillip Webb 866ebf7c13 Merge branch '2.3.x' 5 years ago
Phillip Webb 29f5468ada Use java 8 compiler
Update Ant smoke test to explicitly use Java 8.
5 years ago
Andy Wilkinson 6e68101b9f Upgrade to Postgresql 42.2.13
Closes gh-21859
5 years ago
Andy Wilkinson 8fb7a6cace Remove JUnit 5's vintage engine from spring-boot-starter-test
Closes gh-21625
5 years ago
Andy Wilkinson 4fdd1a64c9 Merge branch '2.2.x' into 2.3.x
Closes gh-21718
5 years ago
Andy Wilkinson 1a52009cfb Migrate CustomServletPathSampleActuatorTests to JUnit Jupiter
Closes gh-21717
5 years ago
dreis2211 b498d3903f Upgrade to Testcontainers 1.14.2
See gh-21581
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
Phillip Webb 038ae93406 Update copyright year of changed files 5 years ago
Stephane Nicoll c3c7fc0f43 Polish smoke test with removal of View support in Couchbase
See gh-21383
5 years ago
Scott Frederick a30740f8d2 Separate server properties for message and errors
Prior to this commit, there was a property server.error.include-details
that allowed configuration of the message and errors attributes in a
server error response.

This commit separates the control of the message and errors attributes
into two separate properties named server.error.include-message and
server.error.include-binding-errors. When the message attribute is
excluded from a servlet response, the value is changed from a
hard-coded text value to an empty value.

Fixes gh-20505
5 years ago
Stephane Nicoll ee913503b4 Tolerate Hazelcast 4
This commit updates HazelcastHealthIndicator and
HazelcastCacheMeterBinderProvider so that they work with
Hazelcast 4 while retaining compatibility with Hazelcast 3. Reflection
is used when necessary.

This commit also adds a smoke test that validates those features are
working when Hazelcast 4 is on the classpath.

Closes gh-21169
5 years ago
Stephane Nicoll 5afe4743cb Remove deprecated configuration properties
This commit removes the following deprecated properties:

* `server.connection-timeout`
* `server.use-forward-headers`
* `server.jetty.max-http-post-size`
* `server.tomcat.max-http-post-size`

Closes gh-20991
5 years ago