Commit Graph

2849 Commits

Author SHA1 Message Date
Phillip Webb a6cefc5ba0 Polish 2017-11-17 14:18:31 -08:00
Madhura Bhave 551c08ebfe Update conditions for OAuth security config
Closes gh-11070
2017-11-17 12:43:48 -08:00
Madhura Bhave d1766509f1 Rename clientReg redirectUri to redirectUriTemplate
To keep it consistent with changes made in Spring Security

Closes gh-11038
2017-11-17 10:16:38 -08:00
Vedran Pavic 44eebcaff5 Fix `SessionAutoConfiguration` ordering
This commit updates `SessionAutoConfiguration` to ensure it is processed
after `MongoDataAutoConfiguration` and
`MongoReactiveDataAutoConfiguration`, instead of `MongoAutoConfiguration`
and `MongoReactiveAutoConfiguration`. This is required in order for
MongoDB Session auto-configuration to work, since
`MongoSessionConfiguration` and `MongoReactiveSessionConfiguration` are
conditional on `MongoOperations` and `ReactiveMongoOperations` beans,
respectively.

Closes gh-11054
2017-11-17 10:02:52 +01:00
Johnny Lim e8563c54dd Polish
Closes gh-11050
2017-11-17 09:56:16 +01:00
Stephane Nicoll 5728d9614e Use a List rather than an array for consistency
Closes gh-11029
2017-11-17 09:14:45 +01:00
Stephane Nicoll a0374c0c31 Polish "Add 'enableSpringElCompiler' to ThymeleafProperties"
Closes gh-10869
2017-11-16 15:56:52 +01:00
Kazuki Shimizu cf350cf85b Add 'enableSpringElCompiler' to ThymeleafProperties
See gh-10869
2017-11-16 15:46:01 +01:00
Johnny Lim cbb483735d Polish
Closes gh-10948
2017-11-16 10:36:20 +01:00
dreis2211 1e4941e29a Use StandardCharsets where possible
Closes gh-11036
2017-11-16 10:34:44 +01:00
Phillip Webb 3035df59cc Use a String[] so sential nodes are trimmed
Update `RedisProperties` to use an actual String[] for sentinal nodes
rather than a simple String. This allows us to lean on the updated
binder to automatically trim the elements.

Fixes gh-11029
2017-11-15 16:19:59 -08:00
Phillip Webb f647f5689f Polish 2017-11-15 12:47:47 -08:00
Stephane Nicoll bbdff1a5bf Polish "Add support for reactive Spring Data Couchbase"
Closes gh-10812
2017-11-14 17:49:02 +01:00
Alex Derkach 568cd6472b Add support for reactive Spring Data Couchbase
See gh-10812
2017-11-14 16:55:03 +01:00
Stephane Nicoll 1830dcf103 Rename AutoConfigurationReportEndpoint to ConditionsEndpoint
This commit further aligns the change to ConditionEvaluationReport by
renaming the 'autoconfig' endpoint to 'conditions'.

Closes gh-2945
2017-11-14 15:25:07 +01:00
Andy Wilkinson 07462be090 Polish 2017-11-11 16:29:12 +00:00
Stephane Nicoll dac7d9c174 Rename AutoConfigurationReportLoggingInitializer to ConditionEvaluationReportLoggingListener
Closes gh-2945
2017-11-10 16:20:13 +01:00
Stephane Nicoll 26158c1ee2 Add default order for JobLauncherCommandLineRunner
Closes gh-2943
2017-11-10 16:06:39 +01:00
Stephane Nicoll 46ef178f04 Polish "Improve cache auto-configuration for Redis"
Closes gh-10944
2017-11-10 14:42:50 +01:00
Ryon a4ed406ee8 Improve cache auto-configuration for Redis
Expose key prefix, TTL and null value settings for spring-data-redis'
RedisCacheConfiguration in Spring .properties/yml configuration files.

Example:

spring.cache.redis.ttl=PT15M
spring.cache.redis.keyPrefix=foo
spring.cache.redis.useKeyPrefix=false
spring.cache.redis.cacheNullValues=false

See gh-10795
2017-11-10 11:30:46 +01:00
Johnny Lim bd0dcfb172 Utilize StandardCharsets
Closes gh-10972
2017-11-10 09:49:13 +01:00
Andy Wilkinson f4570710c1 Make Tomcat auto-config back off when UpgradeProtocol is absent
Closes gh-10960
2017-11-09 14:42:14 +00:00
dreis2211 93b1ebb7fa Use Integer::compare in AutoConfigurationSorter
Closes gh-10959
2017-11-09 09:50:38 +01:00
Phillip Webb 1e7d85a632 Polish 2017-11-06 10:11:50 -08:00
Andy Wilkinson 60afbdc868 Polish 2017-11-06 11:44:53 +00:00
Johnny Lim c05a299520 Polish
Closes gh-10921
2017-11-06 12:28:43 +01:00
Phillip Webb fa191d8c73 Align ReactiveWebApplicationContext with framework
Refactor `ReactiveWebApplicationContext` implementations to align closer
with the `WebApplicationContext` implementations defined in
Spring Framework.

The following classes are now provided:

  - `AnnotationConfigReactiveWebApplicationContext` -- A refreshable
    reactive web context with support for `@Configuration` classes.

  - `GenericReactiveWebApplicationContext` -- A non-refreshable reactive
    GenericApplicationContext.

  - `ReactiveWebServerApplicationContext` --  A non-refreshable reactive
    GenericApplicationContext with support for server discovery.

  - `AnnotationConfigReactiveWebServerApplicationContext` -- A
    non-refreshable reactive `GenericApplicationContext` with support
    for `@Configuration` classes and server discovery.

These classes roughly align to the following Servlet equivalents:

  - `AnnotationConfigWebApplicationContext` (Spring Framework)
  - `GenericWebApplicationContext` (Spring Framework)
  - `ServletWebServerApplicationContext` (Spring Boot)
  - `AnnotationConfigServletWebServerApplicationContext` (Spring Boot)

An additional `ConfigurableReactiveWebEnvironment` interface as also
been introduced, primarily for `@ConditionalOnWebApplication` to use.

Fixes gh-10852
2017-11-03 19:07:23 -07:00
Phillip Webb b6166dc12a Move `Assume` to spring-boot-test-support
Fixes gh-10866
2017-11-03 19:07:23 -07:00
Phillip Webb 427d262297 Polish 2017-11-03 19:07:23 -07:00
Brian Clozel fa0926b178 Error handling for WebFlux should log HTTP 5xx errors
This commit ensures that all errors handled by the
`DefaultErrorWebExceptionHandler` (Spring WebFlux error convetion
support) logs an error with request information and exception
stacktrace.

This is limited to errors that result in an HTTP 5xx error.
Exceptions that extend `ResponseStatusException` and set a non-5xx
status will not be logged.

Closes gh-10904
2017-11-03 16:40:59 +01:00
Brian Clozel 58db841c8f Add Http2 configuration properties
This commit adds a new configuration properties class for configuring
HTTP/2 protocol support.
By default, this protocol is disabled as enabling it requires several
manual changes:

* configuring a web server for proper TLS and ALPN support
* configuring a proper SSL certificate

See gh-10043
2017-11-03 13:56:06 +01:00
Phillip Webb f440fc6d25 Formatting 2017-11-02 15:04:39 -07:00
Andy Wilkinson 76df3fc496 Use explicit classpath: prefix for Flyway location
Flyway implicitly adds classpath: to locations without a prefix but
resource loader fails to find migratons on the classpath without the
prefix.

Add an explicit classpath: prefix so that both Flyway and the resource
loader used to check the locations can find the migration location.

See gh-10807
2017-11-02 18:54:04 +00:00
Eddú Meléndez dcc6d8d6ff Align default of flyway.check-location with equivalent Liquibase prop
Closes gh-10807
2017-11-02 17:19:48 +00:00
Andy Wilkinson 2ae4678b1e Drop support for Spring Mobile
Closes gh-10884
2017-11-02 14:39:46 +00:00
Vedran Pavic 3d44ef0872 Add support for configuring Spring Session cleanup cron
This commit adds support for configuring cron expression used for
expired session cleanup job in Redis and JDBC session stores.

Closes gh-10818
2017-11-02 11:56:11 +01:00
Phillip Webb c55b5d7111 Polish 2017-11-01 23:14:52 -07:00
Phillip Webb 44d8e09aac Polish endpoint parameter name discovery
Move logic from `ParameterNameMapper` into `ReflectiveOperationInvoker`
in order to reduce the surface area of the public API.

Also rename some classes for consistency.
2017-11-01 23:14:52 -07:00
Madhura Bhave 905e311ef2 Update javadoc 2017-11-01 18:20:14 -07:00
Madhura Bhave b2efef2eed Detect `springSecurityFilterChain` using name 2017-11-01 17:39:58 -07:00
Madhura Bhave 083cf50685 Change condition for adding @EnableWebSecurity
Instead of looking for the presence of `WebSecurityConfiguration`,
this commit checks for the presence of a `Filter` with the name
springSecurityFilterChain. This allows users to configure the Filter
without adding `WebSecurityConfiguration`, making it more flexible.
`springSecurityFilterChain` is somewhat of a contract in Spring Security
and it relies on the name being `springSecurityFilterChain`.

Closes gh-10849
2017-11-01 16:43:49 -07:00
Stephane Nicoll 74677629ff Remove handling of spring.git.properties
Closes gh-10857
2017-11-01 09:13:32 +01:00
Madhura Bhave 1e9fca0b76 Register a bean for OAuth2AuthorizedClientService
Closes gh-10837
2017-10-31 11:20:38 -07:00
Andy Wilkinson 93a67e6b4a Polish 2017-10-30 23:11:18 +00:00
Andy Wilkinson f59fbe6f81 Update test to align with media type change in HATEOAS 0.24
See gh-10828
2017-10-30 17:01:25 +00:00
Andy Wilkinson 5df473a651 Add env-based configuration of TTL of Tomcat's static resource cache
Closes gh-9670
2017-10-30 16:05:43 +00:00
Stephane Nicoll 654cee5a94 Polish 2017-10-30 16:26:04 +01:00
Stephane Nicoll 822ca00001 Merge branch '1.5.x' 2017-10-30 16:24:41 +01:00
Andy Wilkinson a276356328 Add auto-configuration for Spring Session's reactive support
Closes gh-9850
2017-10-30 15:19:41 +00:00
Andy Wilkinson bdab4aa97e Auto-configuration of reactive Spring Session 2017-10-30 15:19:41 +00:00
Andy Wilkinson 5aa66305a8 Log warning when open-in-view is implicitly enabled for JPA or Neo4j
Closes gh-7107
2017-10-30 12:37:38 +00:00
Stephane Nicoll edefacf7ac Adapt to Spring Security change 2017-10-30 08:59:09 +01:00
Stephane Nicoll 5649e8c92a Polish 2017-10-29 16:53:33 +01:00
Stephane Nicoll e7cb0be6d8 Adapt to Spring Security change
This commit updates `WebFluxSecurityConfiguration` to look for a
`WebFilterChainProxy` rather than the default configuration that
`@EnableWebFluxSecurity` triggers. The latter is now package private.
2017-10-29 16:52:11 +01:00
Stephane Nicoll cba430818f Adapt to change in latest Spring Security snapshot 2017-10-28 08:02:39 +02:00
Stephane Nicoll a34ff67a1d Merge branch '1.5.x' 2017-10-28 07:58:45 +02:00
Stephane Nicoll caf4c4c6dd Make use of Batch's new API for accessing job parameters
Closes gh-10135
2017-10-27 14:53:25 +02:00
Andy Wilkinson 194e03c913 Polish mock verification and formatting
See gh-10773
2017-10-27 09:43:25 +01:00
Andy Wilkinson 37392c0ec8 Adapt to changed default login redirect URL in OAuth 2 Client support
See https://github.com/spring-projects/spring-security/issues/4687
See gh-10705
2017-10-27 09:19:57 +01:00
Stephane Nicoll dbb1e222ab Initialize only an embedded datasource by default
This commit renames spring.datasource.initialize to
spring.datasource.initialization-mode and use the
DataSourceInitializationMode enum. By default, only an embedded
datasource is initialized.

Closes gh-10773
2017-10-27 09:50:37 +02:00
Stephane Nicoll b720c2141c Rename DatabaseInitialization to DataSourceInitialization
Closes gh-10779
2017-10-26 16:26:08 +02:00
Stephane Nicoll 852ad093b2 Add support for @SendTo with kafka listener
This commit makes sure that the `replyTemplate` is set if a
KafkaTemplate is available in the context which effectively add support
for `@SendTo`.

Closes gh-10669
2017-10-25 18:04:08 +02:00
Stephane Nicoll 97c1365e24 Remove Http401AuthenticationEntryPoint
Closes gh-10715
2017-10-25 14:03:14 +02:00
Stephane Nicoll b23f68b0d5 Merge branch '1.5.x' 2017-10-25 13:59:54 +02:00
Vedran Pavic ac10fa31cd Upgrade to Hazelcast 3.9
Closes gh-10764
2017-10-25 08:56:35 +02:00
Madhura Bhave 182b6f0d29 Fix OAuth2 client tests as per upstream changes 2017-10-24 14:43:20 -07:00
Andy Wilkinson 66b55defa0 Adapt to password encoder changes in Spring Security
Closes gh-10762
2017-10-24 21:50:19 +01:00
Andy Wilkinson 2b426c30a6 Polish “Remove explicit type arguments”
Closes gh-10494
2017-10-24 14:44:26 +01:00
Johnny Lim 6168fae720 Remove explicit type arguments
See gh-10494
2017-10-24 14:44:20 +01:00
Andy Wilkinson a256602c7b Polish 2017-10-24 14:41:03 +01:00
Stephane Nicoll 2b69e3c6d5 Fix metadata of spring.mustache.suffix
Closes gh-10752
2017-10-23 19:46:18 +02:00
Andy Wilkinson 90ecb29667 Align with spring-security-jwt-jose being renamed to s-s-auth2-jose
Closes gh-10750
2017-10-23 15:58:37 +01:00
Madhura Bhave 64b9451e2f Fix OAuth2 client tests following upstream changes 2017-10-20 11:57:13 -07:00
Johnny Lim 44ae148ecd Polish
Closes gh-10700
2017-10-20 08:15:57 +02:00
Madhura Bhave 8600bd7294 Upgrade to Spring Security 5.0.0.BUILD-SNAPSHOT
Following some changes in the latest snapshot this includes:
- Some updates to oauth2 client auto-config
- Security auto-config no longer relies on GlobalAuthenticationConfigurerAdapter
- Remove reactive security starter

Closes gh-10704
2017-10-19 15:39:01 -07:00
Madhura Bhave eb446d07d9 Default provider to registration-id if not present
Closes gh-10671
2017-10-19 13:03:57 -07:00
Stephane Nicoll c2f649df54 Add support for JPA mapping resources
Closes gh-10684
2017-10-19 17:35:38 +02:00
Stephane Nicoll c4026806a6 Polish 2017-10-19 17:14:49 +02:00
Andy Wilkinson 688da652ac Polish 2017-10-17 15:41:55 +01:00
dreis2211 3b71393e0a Use Assert.state() with Supplier where possible
See gh-10658
2017-10-17 15:35:59 +02:00
Johnny Lim 5aa32b3d0f Polish
Closes gh-10636
2017-10-17 15:29:13 +02:00
Stephane Nicoll 22de4303c5 Polish "When pool autocommit is disabled, inform Hibernate"
Closes gh-9737
2017-10-17 11:39:44 +02:00
Craig Andrews d0e70e90de When pool autocommit is disabled, inform Hibernate
Starting with Hibernate 5.2.10, the JPA property
`hibernate.connection.provider_disables_autocommit` should be set to true
when the datasource has autocommit disabled in order to improve
performance.

See gh-9737
2017-10-17 09:19:47 +02:00
Brian Clozel 68db43cf44 Support error conventions in Spring WebFlux
This commit adds support for Spring Boot error conventions with WebFlux.
The Spring MVC support for that is based on an `Controller` that's
mapped on a specific `"/error"` path and configured as an error page in
the Servlet container. With WebFlux, this support leverages a
`WebExceptionHandler`, which catches exceptions flowing through the
reactive pipeline and handles them.

The `DefaultErrorWebExceptionHandler` supports the following:
* return a JSON error response to machine clients
* return error HTML views (templates, static or default HTML view)

One can customize the error information by contributing an
`ErrorAttributes` bean to the application context.

Spring Boot provides an `ErrorWebExceptionHandler` marker interface and a
base implementation that provides high level constructs to handle
errors, based on the Spring WebFlux functional flavor.
The error handling logic can be completely changed by providing a custom
`RouterFunction` there.

Fixes gh-8625
2017-10-16 21:55:05 +02:00
Andy Wilkinson 44acef2ae2 Merge branch '1.5.x' 2017-10-13 12:43:00 +01:00
Phillip Webb 748e0779b6 Update copyright year for changed files 2017-10-10 11:56:13 -07:00
Phillip Webb d62d829c19 Polish 2017-10-10 11:55:47 -07:00
Madhura Bhave a06ec4a877 Mongo Uri overrides host and port
Fixes gh-4017
2017-10-10 09:23:49 -07:00
Phillip Webb 8be7d3cab4 Polish 2017-10-08 08:08:07 -07:00
Stephane Nicoll a662b779b3 Fix build failure
Spring Session JDBC no longer providers a JdbcTemplate so our tests
need to make sure to include our own auto-configuration for it.
2017-10-07 09:45:12 +02:00
Madhura Bhave 0402223fd0 Replace CommonOAuth2Provider
Closes gh-10543
2017-10-06 11:58:24 -07:00
Madhura Bhave 3ced8412b5 Replace AuthorizationGrantType & ClientAuthenticationMethod
Closes gh-10506
2017-10-06 09:34:13 -07:00
Daniel Fernández e69a93bf47 Minor documentation improvements at ThymeleafProperties 2017-10-06 09:12:28 +02:00
Daniel Fernández 6a52a1a6a0 Added configuration test for spring.thymeleaf.reactive.max-chunk-size 2017-10-06 09:12:28 +02:00
Daniel Fernández 7de6472477 Added configuration parameters at ThymeleafProperties for "fullModeViewNames" and "chunkedModeViewNames" 2017-10-06 09:12:28 +02:00
Phillip Webb 526fc1f351 Fix imports following upstream change 2017-10-05 17:57:31 -07:00
Andy Wilkinson 2bb54f16fb Polish 2017-10-05 10:54:26 +01:00
Phillip Webb b87f9c11f1 Fix POMs for the updated build/release process
Fix POMs following project relocations and apply CI friendly Maven
conventions.

See gh-9316
2017-10-04 16:34:38 -07:00
Phillip Webb 0ba4830b4f Relocate projects to spring-boot-project
Move projects to better reflect the way that Spring Boot is released.

The following projects are under `spring-boot-project`:

  - `spring-boot`
  - `spring-boot-autoconfigure`
  - `spring-boot-tools`
  - `spring-boot-starters`
  - `spring-boot-actuator`
  - `spring-boot-actuator-autoconfigure`
  - `spring-boot-test`
  - `spring-boot-test-autoconfigure`
  - `spring-boot-devtools`
  - `spring-boot-cli`
  - `spring-boot-docs`

See gh-9316
2017-10-04 16:34:23 -07:00