Commit Graph

3150 Commits

Author SHA1 Message Date
Brian Clozel b38d04556e Auto-configure HTTP transport for MVC and WebFlux
This commit adds two new auto-configuration classes for Spring GraphQL
support. Once the base GraphQL infrastructure is in place, we can now
expose the `GraphQlService` over an HTTP transport.

Spring GraphQL supports both MVC and WebFlux, so this commit ships with
one auto-configuration for each.
Developers can configure the HTTP path where the GraphQL resource is
exposed using the `spring.graphql.path` configuration property (this
defaults to `"/graphql"`).

See gh-29140
2021-12-21 08:32:56 +01:00
Brian Clozel 5cf0a4db94 Add FailureAnalyzer for InvalidSchemaLocationsException
This commit adds a new `FailureAnalyzer` for exceptions thrown when no
GraphQL schema file could be found.
This lists configured locations (with `"classpath:..."` notation) and
also resolved locations - this helps developers figure out how the
pattern are resolved and why schema files cannot be found.

See gh-29140
2021-12-21 08:32:48 +01:00
Brian Clozel de808834f5 Auto-configure Spring GraphQL base infrastructure
This commit adds the auto-configuration for setting up the base Spring
GraphQL infrastructure. Because GraphQL doesn't depend on any particular
transport, we must have a separate configuration for creating:

* the `GraphQlSource`, which holds the schema and the `GraphQL` instance
* the `GraphQlService` for executing incoming requests
* the `BatchLoaderRegistry` for batch loading support
* the `AnnotatedControllerConfigurer` for supporting the annotated
  controllers programming model

This comes with a starting point for the `"spring.graphql.*"`
configuration properties; we can now configure the locations and file
extensions of GraphQL schema files we should load and configure at
startup.

See gh-29140
2021-12-21 08:32:37 +01:00
Stephane Nicoll 83d732823d Merge branch '2.6.x' into 2.7.x
Closes gh-29136
2021-12-20 18:08:00 +01:00
Stephane Nicoll 653fdbd0a4 Configure comment prefixes
Closes gh-29095
2021-12-20 17:47:50 +01:00
Phillip Webb f3bcbca841 Update copyright year of changed files 2021-12-16 13:05:17 -08:00
Stephane Nicoll 63427b77d1 Merge branch '2.6.x' into 2.7.x
Closes gh-29086
2021-12-16 17:30:36 +01:00
Stephane Nicoll 55859ea64c Stop accessing the datasource if initialization mode is set to never
Closes gh-28931
2021-12-16 16:50:22 +01:00
Stephane Nicoll 38aeeee381 Merge branch '2.6.x' into 2.7.x 2021-12-15 16:41:19 +01:00
Stephane Nicoll 3b4d27e4d3 Merge branch '2.5.x' into 2.6.x 2021-12-15 16:41:09 +01:00
Stephane Nicoll 30ebb17b2b Polish 2021-12-15 16:38:27 +01:00
Stephane Nicoll 9ca1cffab7 Merge branch '2.6.x' into 2.7.x
Closes gh-29016
2021-12-14 15:32:13 +01:00
Stephane Nicoll ba60e3d358 Merge branch '2.5.x'
Closes gh-29002
2021-12-14 15:31:45 +01:00
Stephane Nicoll 157b3aa25f Allow platform to be configured in DataSourceInitializers
Closes gh-28932
2021-12-14 15:07:32 +01:00
Stephane Nicoll b961b14d0f Merge branch '2.6.x' into 2.7.x
Closes gh-28980
2021-12-10 11:02:02 +01:00
Stephane Nicoll dfab6ee307 Merge branch '2.5.x' into 2.6.x
Closes gh-28979
2021-12-10 11:01:48 +01:00
Stephane Nicoll f6f5aec183 Polish "Check for the presence of Spring Security"
See gh-28967
2021-12-10 10:59:00 +01:00
Guirong Hu 4462f9157e Check for the presence of Spring Security
See gh-28967
2021-12-10 10:58:30 +01:00
Stephane Nicoll a2eeb77e21 Merge branch '2.6.x' into 2.7.x
Closes gh-28951
2021-12-09 16:00:09 +01:00
Vedran Pavic 0af4431db8 Apply SameSite session cookie property to Spring Session
This commit maps the `server.servlet.session.cookie.same-site`
configuration property to the `DefaultCookieSerializer` bean configured
in the Spring Session auto-configuration.

See gh-28784
2021-12-09 15:53:50 +01:00
Stephane Nicoll 89635eafa3 Update copyright year of changed files
See gh-28862
2021-12-09 15:48:47 +01:00
Stefano Cordio a5c56043b9 Simplify AssertJ usage
See gh-28862
2021-12-09 15:39:02 +01:00
Stephane Nicoll 25a2888be5 Fix default value of spring.mvc.pathmatch.matching-strategy property
Closes gh-28936
2021-12-09 10:45:21 +01:00
Željko Tomić 1c1c85c3f8 Fix MariaDB mapping for Quartz DataSource initialization
See gh-28779
2021-11-25 09:38:44 +01:00
Phillip Webb beb68671bb Update copyright year of changed files 2021-11-24 10:23:32 -08:00
Madhura Bhave e7ff2cf358 Guard ErrorPageSecurityFilter configuration with ConditionalOnClass
Update `ErrorPageSecurityFilterConfiguration` to guard against the case
where `spring-security-core` is on the classpath but
`spring-security-web` is not.

Fixes gh-28774
2021-11-24 10:20:29 -08:00
Andy Wilkinson 03e283a2e6 Mention WebProperties in deprecation of ResourceProperties
Closes gh-28762
2021-11-22 10:03:21 +00:00
Madhura Bhave dd1d1482dc Deny unauthorized access to the error page
Fixes gh-26356

Co-authored-by Andy Wilkinson <wilkinsona@vmware.com>
2021-11-18 15:41:38 -08:00
Stephane Nicoll 7fbb9d471b Polish "Upgrade to Neo4j Java Driver 4.2.8"
See gh-28717
2021-11-17 16:14:25 +01:00
Stephane Nicoll f1991d8d80 Avoid bean override with CachingMetadataReaderFactoryPostProcessor
Closes gh-28705
2021-11-16 16:24:32 +01:00
Stephane Nicoll 8356204430 Upgrade to Flyway 8.0.4
Closes gh-28697
2021-11-16 11:02:02 +01:00
Filip Hrisafov d6bead1a2a Expose RestClientBuilder when RestHighLevelClient is not available
This commits exposes the RestClientBuilder as a bean even when the
RestHighLevelClient is not available. It allows users to create their
own RestClient beans using the Spring Boot configured RestClientBuilder
when they are not using the RestHighLevelClient.

Fixes gh-28655
2021-11-15 09:59:20 +01:00
Stephane Nicoll 6e06e69bba Merge branch '2.5.x'
Closes gh-28673
2021-11-14 08:25:01 +01:00
Stephane Nicoll 4c193a1511 Merge branch '2.4.x' into 2.5.x
Closes gh-28672
2021-11-14 08:24:48 +01:00
Stephane Nicoll d21c48e474 Update copyright year of changed file
See gh-28532
2021-11-14 08:23:32 +01:00
Josh Cummings d817029575 Harmonize @ConditionalOnMissingBean definition
See gh-28532
2021-11-14 08:19:43 +01:00
Andy Wilkinson 2a342ef416 Merge branch '2.5.x'
Closes gh-28662
2021-11-12 23:40:35 +00:00
Andy Wilkinson 5e4a502b2d Merge branch '2.4.x' into 2.5.x
Closes gh-28661
2021-11-12 20:31:25 +00:00
Andy Wilkinson 2cec3971d7 Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
2021-11-12 20:04:35 +00:00
Andy Wilkinson 925ddd6b09 Merge branch '2.5.x' 2021-11-11 10:34:13 +00:00
Andy Wilkinson 3b180f42b7 Polish 2021-11-11 10:34:04 +00:00
Andy Wilkinson 7a24ee88ae Merge branch '2.5.x'
Closes gh-28607
2021-11-11 09:55:42 +00:00
Andy Wilkinson 23197c34c7 Merge branch '2.4.x' into 2.5.x
Closes gh-28606
2021-11-11 09:55:21 +00:00
Andy Wilkinson c018788846 Test JTA auto-configured from JNDI
Closes gh-28594
2021-11-11 09:54:50 +00:00
Andy Wilkinson ceacb1533a Merge branch '2.5.x' 2021-11-10 20:18:09 +00:00
Andy Wilkinson b5653ad551 Merge branch '2.4.x' into 2.5.x 2021-11-10 20:17:36 +00:00
Andy Wilkinson f3b5e6bb3e Adapt to removal of static resource location filtering
See gh-28506
2021-11-10 20:15:56 +00:00
Stephane Nicoll 629e1d3ac5 Upgrade to Flyway 8.0.3
Closes gh-28572
2021-11-09 08:51:38 +01:00
Stephane Nicoll bf88405121 Flag BeanDefinitionRegistryPostProcessor beans with role infrastructure
Closes gh-28540
2021-11-05 14:20:37 +01:00
Stephane Nicoll 11a5055b8f Merge branch '2.5.x' 2021-11-05 13:45:01 +01:00
Stephane Nicoll cd5508a679 Polish 2021-11-05 13:43:38 +01:00
Stephane Nicoll 98b9e1ab21 Start building against Spring Framework 5.3.13 snapshots
See gh-28515
2021-11-05 13:37:29 +01:00
izeye 5d8dce70dc Polish
See gh-28494
2021-11-01 08:58:40 +01:00
Andy Wilkinson ef2bcdd3ed Merge branch '2.5.x'
Closes gh-28483
2021-10-29 11:37:43 +01:00
Andy Wilkinson 07ed7ab944 Merge branch '2.4.x' into 2.5.x
Closes gh-28482
2021-10-29 11:37:33 +01:00
Andy Wilkinson 2462f67be4 Align test for spring.data.mongodb.autoIndexCreation with new default
Closes gh-28481
2021-10-29 11:23:35 +01:00
Andy Wilkinson c9dd6b7e86 Merge branch '2.5.x'
Closes gh-28480
2021-10-29 11:12:18 +01:00
Andy Wilkinson ae93bb3a11 Merge branch '2.4.x' into 2.5.x
Closes gh-28479
2021-10-29 11:12:04 +01:00
Andy Wilkinson 10f0017d69 Fix method validation in child contexts
Bean post-processors only apply to the context in which they're
registered. ValidationAutoConfiguration will only auto-configure the
MethodValidationPostProcessor if the post-processor is missing from
the current context and any of its ancestors. If an ancestor context
contains the post-processor it will not be auto-configured and the
descendant context will not have method validation configured.

This commit updates the auto-configuration to limit the search for
an existing MethodValidationPostProcessor bean to the current
context.

Fixes gh-27890
2021-10-29 10:08:57 +01:00
Stephane Nicoll 9241f228d5 Add .gitattributes
Closes gh-28474
2021-10-28 15:31:40 +02:00
Stephane Nicoll 66553ac8c7 Add .gitattributes
Closes gh-28473
2021-10-28 15:27:49 +02:00
Stephane Nicoll 1b3f52d609 Harmonize line endings
See gh-27615
2021-10-28 15:22:57 +02:00
Stephane Nicoll 837e2ac277 Fix bean type visibility
Closes gh-28437
2021-10-23 07:31:27 +02:00
Andy Wilkinson 3605388787 Merge branch '2.5.x'
Closes gh-28440
2021-10-22 15:24:13 +01:00
Andy Wilkinson 50d4eaad63 Merge branch '2.4.x' into 2.5.x
Closes gh-28439
2021-10-22 15:23:07 +01:00
Andy Wilkinson a545b6e0b4 Polish "Polish"
See gh-28367
2021-10-22 15:19:13 +01:00
Leo Li 1586232761 Polish
See gh-28367
2021-10-22 15:11:57 +01:00
Andy Wilkinson 47da70632f Merge branch '2.5.x'
Closes gh-28430
Closes gh-28431
2021-10-22 10:12:53 +01:00
Andy Wilkinson 585b8880c7 Merge branch '2.4.x' into 2.5.x
Closes gh-28424
2021-10-22 10:10:50 +01:00
Andy Wilkinson 7f976dab9e Polish "Don't use markdown syntax in javadoc or error messages"
See 2f6651c3cb.

Closes gh-28408
2021-10-22 10:08:27 +01:00
Phillip Webb e25f216eab Merge branch '2.5.x'
Closes gh-28425
2021-10-21 11:28:33 -07:00
Phillip Webb daf36dff55 Merge branch '2.4.x' into 2.5.x
Closes gh-28424
2021-10-21 11:27:29 -07:00
Phillip Webb 2f6651c3cb Don't use markdown syntax in javadoc or error messages
Closes gh-28408
2021-10-21 11:24:54 -07:00
Andy Wilkinson 2541c0cbdc Disable on Windows tests that use embedded Kafka
Closes gh-28406
2021-10-21 10:46:50 +01:00
Phillip Webb 1ad39b5fce Fix ReactiveSessionAutoConfigurationRedisTests
See gh-26714
2021-10-21 00:10:40 -07:00
Phillip Webb cf9156e497 Add SameSite cookie support for servlet web servers
Update Tomcat, Jetty and Undertow `ServletWebServerFactory`
implementations so that they can write SameSite cookie attributes.

The session cookie will be customized whenever the
`server.servlet.session.cookie.same-site` property is set.

Other cookies can be customized with the new `CookieSameSiteSupplier`
interface which can be registered using `@Bean` methods.

Closes gh-20971

Co-authored-by Andy Wilkinson <wilkinsona@vmware.com>
2021-10-20 22:58:31 -07:00
Phillip Webb b72ff25220 Relocate and unify reactive cookie properties
Relocate the recently introduced `spring.webflux.session` properties
to `server.reactive.session` and create a unified `Cookie` properties
class.

Reactive session properties now mirror the existing
`server.servlet.session` properties and better reflect the fact that
they are related to the server and not just for WebFlux.

See gh-26714
2021-10-20 22:09:33 -07:00
Phillip Webb 3c71637fa2 Polish 'Add more session properties for reactive web servers'
See gh-26714
2021-10-20 22:09:30 -07:00
weixsun a2a802a14a Add more session properties for reactive web servers
Expand the session properties supported by reactive web servers to
include `timeout` support and additional `cookie` properties.

See gh-26714
2021-10-20 22:09:21 -07:00
Madhura Bhave ea65c28bfa Polish 2021-10-20 19:45:46 -07:00
Madhura Bhave 07aeb2156d Merge pull request #28123 from timtebeek
* pr/28123:
  Polish "Support PEM format for Kafka SSL certs and private key"
  Support PEM format for Kafka SSL certs and private key

Closes gh-28123
2021-10-20 19:38:11 -07:00
Madhura Bhave 0d06a2854d Polish "Support PEM format for Kafka SSL certs and private key"
See gh-28123
2021-10-20 17:10:49 -07:00
Tim te Beek 7a98364a23 Support PEM format for Kafka SSL certs and private key
See gh-28123
2021-10-20 17:10:13 -07:00
Andy Wilkinson f2b3f1f41f Make URL- and property-based pooling config mutually exclusive
Closes gh-28144
2021-10-20 11:22:05 +01:00
Andy Wilkinson 9d6a0cfd24 Starting building against Spring Framework 5.3.12 snapshots
This reverts commit 3969e63ced, reversing
changes made to f01d086a8d.

Closes gh-28385
See gh-28252
2021-10-19 18:43:53 +01:00
Andy Wilkinson f2ef8f9245 Start building against Spring Framework 5.3.12 snapshots
This reverts commit 196013fc39, reversing
changes made to 8b0c563832.

Closes gh-28384
See gh-28241
2021-10-19 18:41:23 +01:00
Andy Wilkinson 971bdd36fe Start building against Framework 5.3.12 snapshots
This reverts commit b32a38a814.

See gh-28223
Closes gh-28369
2021-10-19 17:50:59 +01:00
Andy Wilkinson 9b77151caa Polish "Make UserDetailsService back off with AuthManagerResolver bean"
See gh-28361
2021-10-19 16:30:06 +01:00
Bartosz Jaszczak 31cdfd524e Make UserDetailsService back off with AuthManagerResolver bean
See gh-28361
2021-10-19 16:19:12 +01:00
Andy Wilkinson a27dfcb9b0 Make R2DBC auto-config back off without a connection provider
Closes gh-26439
2021-10-19 14:18:34 +01:00
Andy Wilkinson 2af2a02fbb Merge branch '2.5.x'
Closes gh-28380
2021-10-19 14:18:12 +01:00
Andy Wilkinson c8e0791b50 Merge branch '2.4.x' into 2.5.x
Closes gh-28379
2021-10-19 14:17:53 +01:00
Andy Wilkinson 5fe75f3d58 Improve diagnostics when no DSLContext due to R2DBC
Fixes gh-28378
2021-10-19 13:52:45 +01:00
Andy Wilkinson 657eb86dad Polish "Add a config prop to enable/disable SI's default logging"
See gh-28355
2021-10-19 11:04:32 +01:00
Artem Bilan c6891c5184 Add a config prop to enable/disable SI's default logging
See gh-28355
2021-10-19 11:04:32 +01:00
Andy Wilkinson 3969e63ced Merge branch '2.5.x'
See gh-28252
2021-10-18 10:37:09 +01:00
Andy Wilkinson 196013fc39 Merge branch '2.4.x' into 2.5.x
See gh-28241
2021-10-18 10:23:31 +01:00
Andy Wilkinson b32a38a814 Work around unwanted static resource warnings from WebFlux and MVC
See gh-28223
2021-10-18 10:15:53 +01:00
Stephane Nicoll 0b32215c13 Polish "Log URLs for all DataSources"
See gh-28204
2021-10-14 09:24:07 +02:00
StitzL f31b8ec226 Log URLs for all DataSources
This commit logs the path of the H2 console, followed by the
comma-separated ordered URLs of each data source that offers a
connection.

See gh-28204
2021-10-14 09:17:49 +02:00