Commit Graph

3158 Commits

Author SHA1 Message Date
Andy Wilkinson ee9c399eba Merge branch '2.5.x' into 2.6.x
Closes gh-29485
2022-01-19 17:27:36 +00:00
Andy Wilkinson 1b3d088056 Move JdbcSessionDataSourceInitializerTests into src/test/java
Closes gh-29484
2022-01-19 17:26:55 +00:00
rstoyanchev 68f4938367 Update GraphQL QBE auto-config
This change is the same as 68806bfef8
for Querydsl, but applied also to the Query By Example auto config.

Closes gh-29445
2022-01-18 09:50:31 +01:00
Brian Clozel cdee953252 Polish 2022-01-14 21:07:29 +01:00
Brian Clozel 68806bfef8 Fix build after Spring for GraphQL changes
See spring-projects/spring-graphql#244
2022-01-14 21:05:15 +01:00
Andy Wilkinson ece4c8ad93 Merge branch '2.6.x' into 2.7.x
Closes gh-29400
2022-01-14 15:49:39 +00:00
Andy Wilkinson 8868d34c24 Merge branch '2.5.x' into 2.6.x
Closes gh-29399
2022-01-14 15:48:57 +00:00
Andy Wilkinson d051146eb4 Use Testcontainers instead on Embedded Mongo
We've seen some problems, particularly on CI, where Embedded Mongo
hangs while trying to start the Mongo process. To limit the problem,
this commit replaces the use of Embedded Mongo with Testcontainers
where we can, leaving Embedded Mongo in use only where we're
specifically testing our Embedded Mongo support.

Closes gh-28843
2022-01-14 15:48:31 +00:00
Phillip Webb 8147eb6d6d Merge branch '2.6.x' into 2.7.x 2022-01-12 15:43:44 -08:00
Stephane Nicoll ca432309aa Polish "Add option to allow Spring Batch custom isolation levels"
See gh-28859
2022-01-11 11:07:08 +01:00
stibi a8d1d3104e Add option to allow Spring Batch custom isolation levels
See gh-28859
2022-01-11 10:39:01 +01:00
Brian Clozel fc794f17e1 Update GraphiQlHandler configuration
This commit updates the `GraphiQlHandler` auto-configuration after a
constructor change was done in Spring GraphQL for WebSocket support in
GraphiQL.
2022-01-10 18:27:50 +01:00
Stephane Nicoll e92e35d56f Polish "Stop configuring a default user with SAML 2.0 Login"
See gh-29263
2022-01-10 16:25:43 +01:00
Guirong Hu ab49acc782 Stop configuring a default user with SAML 2.0 Login
See gh-29263
2022-01-10 16:22:00 +01:00
Brian Clozel b7de02d908 Fix build after Spring GraphQL changes
See pring-projects/spring-graphql#229
2022-01-10 14:17:31 +01:00
Stephane Nicoll 270e162479 Stop aliasing MariaDB to MySQL
Closes gh-28728
2022-01-10 10:29:49 +01:00
Stephane Nicoll 5f67546534 Adapt to latest API change in SD Elasticsearch
See gh-29292
2022-01-09 22:24:05 +01:00
Stephane Nicoll 9e27bddfc7 Start building against Spring Data 2021.2.0-M1 snapshots
This commit also upgrades to Elasticsearch 7.16.2

See gh-29223
See gh-29292
2022-01-08 19:57:50 +01:00
Stephane Nicoll a9d8befe72 Fix build failures
See gh-29290
2022-01-07 15:39:33 +01:00
Andy Wilkinson 94fa50af1c Polish 2022-01-07 14:03:07 +00:00
Stephane Nicoll 9821cdfd8b Remove deprecated code
Closes gh-29290
2022-01-07 14:42:14 +01:00
Stephane Nicoll 164c2f7164 Polish
See gh-29265
2022-01-07 10:20:11 +01:00
Stephane Nicoll 69d1c3674a Upgrade to latest Hazelcast 3.x in integration tests 2022-01-06 17:41:26 +01:00
Stephane Nicoll a780e87e9c Upgrade to Hazelcast 5.0.2
See gh-29265
2022-01-06 17:38:06 +01:00
Stephane Nicoll ce7a3d0ef2 Upgrade to Flyway 8.3.0
Closes gh-29249
2022-01-05 09:18:23 +01:00
Phillip Webb b25e92f3e2 Merge branch '2.6.x' into 2.7.x 2022-01-04 12:24:34 -08:00
Stephane Nicoll 4799d2a71a Polish "Add transactionIdPrefix Property to KafkaTemplate"
See gh-29089
2022-01-04 15:54:23 +01:00
Gary Russell 33814a4a42 Add transactionIdPrefix Property to KafkaTemplate
See gh-29089
2022-01-04 15:39:31 +01:00
Stephane Nicoll c943ef18ca Polish "Add principal resolution in RSocket handler methods"
See gh-28444
2022-01-04 15:02:56 +01:00
Guirong Hu cf05964499 Add principal resolution in RSocket handler methods
See gh-28444
2022-01-04 14:35:12 +01:00
Stephane Nicoll 076ddc8579 Polish "Add server.netty.max-keep-alive-requests"
See gh-28875
2022-01-04 10:42:34 +01:00
Leo Li 0e94b2ce6e Add server.netty.max-keep-alive-requests
See gh-28875
2022-01-04 10:42:34 +01:00
Stephane Nicoll 578855f512 Restore support for Hazelcast 3
See gh-28801
2022-01-04 10:39:20 +01:00
Stephane Nicoll e1a5be83d2 Polish "Inject SpringManagedContext into Hazelcast configuration"
See gh-28801
2022-01-04 09:57:48 +01:00
Jaromir Hamala b875b55711 Inject SpringManagedContext into Hazelcast configuration
This commit makes it possible to inject Spring managed beans into
objects instantiated by Hazelcast.

See gh-28801
2022-01-04 09:04:49 +01:00
Stephane Nicoll f26bee1196 Polish "Upgrade to Embedded Mongo 3.2.5"
See gh-28543
2022-01-04 08:39:11 +01:00
Julien Herr 679231c120 Upgrade to Embedded Mongo 3.2.5
See gh-28543
2022-01-03 17:59:26 +01:00
Brian Clozel c5817f21eb Add property for disabling GraphQL schema introspection
Prior to this commit, the GraphQL schema assembled by the
auto-configuration would provide no option for disabling the field
introspection.

While this feature is essential for many tools (including GraphiQL),
some prefer disabling it because this allows clients to gather
information about types and schema easily. This commit introduces a new
`spring.graphql.schema.introspection.enabled` configuration property.

Because potential attackers can still gather this information and this
feature is a core concern in the GraphQL spec, introspection is enabled
by default for Spring Boot applications.

Closes gh-29248
2022-01-03 17:36:58 +01:00
izeye 728206dba0 Polish GraphQL changes
See gh-29140
Closes gh-29194
2022-01-03 17:36:57 +01:00
Stephane Nicoll 91d7295c62 Polish "Add support for IdlePartitionEventInterval"
See gh-28290
2022-01-03 14:20:56 +01:00
Pascal Ayotte 9274baeb68 Add support for IdlePartitionEventInterval
See gh-28290
2022-01-03 14:16:19 +01:00
Stephane Nicoll 6b6da22f2c Polish "Add support for RabbitStreamTemplate"
See gh-28060
2022-01-03 14:02:27 +01:00
Eddú Meléndez 3952046132 Add support for RabbitStreamTemplate
See gh-28060
2022-01-03 13:30:10 +01:00
Stephane Nicoll 2b140950e3 Merge branch '2.6.x' into 2.7.x
Closes gh-29176
2021-12-27 12:02:57 +01:00
izeye 7fbb5749d1 Polish
See gh-29157
2021-12-27 12:01:50 +01:00
Brian Clozel 88ee4fab36 Polish
See gh-29140
2021-12-21 10:33:51 +01:00
Brian Clozel 6dbcd0e95e Auto-configure security for Spring GraphQL
This commit configures security features for Spring GraphQL.
In the case of both MVC and WebFlux, this contributes
`DataFetcherExceptionResolver` instances to resolve security exceptions
and expose them as proper errors in the GraphQL response.

For MVC only, this also configures a
`SecurityContextThreadLocalAccessor`. This component ensures that the
security context is propagated between `ThreadLocal` and the Reactor
asynchronous execution.

See gh-29140
2021-12-21 08:33:50 +01:00
Brian Clozel 9954b4c63e Auto-configure Query* support for GraphQL
This commit auto-configures Spring Data Querydsl and QueryByExample
support for Spring GraphQL.

See gh-29140
2021-12-21 08:33:43 +01:00
Brian Clozel 6ef1ed0dd0 Auto-configure GraphQL WebSocket endpoint
This commit auto-configures a GraphQL WebSocket endpoint for both Spring
MVC and Spring WebFlux. This is only enabled if the required libraries
are on the classpath and if the `"spring.graphql.websocket.path"`
property is defined.

See gh-29140
2021-12-21 08:33:25 +01:00
Brian Clozel 4ef9b9e3e5 Auto-configure CORS options for GraphQL web endpoints
This commit adds `"spring.graphql.cors.*"` configuration properties to
customize the CORS configuration for GraphQL web endpoints.

See gh-29140
2021-12-21 08:33:19 +01:00
Brian Clozel 0099460155 Auto-configure graphiql endpoint
Spring GraphQL ships with a static version of the graphiql IDE for
exploring and querying GraphQL endpoints.
See https://github.com/graphql/graphiql for more information.

This commit auto-configures the GraphiQL handler for both MVC and
WebFlux and points GraphiQL to the GraphQL HTTP endpoint exposed by the
application. This feature is disabled by default and can be switched on
with "spring.graphql.graphiql.enabled=true".

See gh-29140
2021-12-21 08:33:11 +01:00
Brian Clozel ff9a421786 Auto-configure schema printer endpoint
This commit configuresa new endpoint for printing in text format the
resolved GraphQL schema.
This endpoint is exposed by default under "/graphql/schema" and must be
enabled with "spring.graphql.schema.printer=true".

See gh-29140
2021-12-21 08:33:05 +01:00
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 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