260 Commits

Author SHA1 Message Date
Phillip Webb
8f4bf233b4 Update configuration properties to use Duration
Update appropriate configuration properties to use the `Duration`
type, rather than an ad-hoc mix of milliseconds or seconds.

Configuration properties can now be defined in a consistent and readable
way. For example `server.session.timeout=5m`.

Properties that were previously declared using seconds are annotated
with `@DurationUnit` to ensure a smooth upgrade experience. For example
`server.session.timeout=20` continues to mean 20 seconds.

Fixes gh-11080
2017-11-19 21:52:57 -08:00
Stephane Nicoll
303b812363 Properly document default for useNewIdGeneratorMappings
Closes gh-11064
2017-11-19 13:14:12 +01:00
Phillip Webb
e147982045 Add FilteredClassLoader
Add `FilteredClassLoader` to replace `HideClassesClassLoader` and
`HidePackagesClassLoader`.

Fixes gh-10303
2017-11-18 23:20:00 -08:00
Phillip Webb
2f6aca222e Fix checkstyle violation
Fix public constructor accidentally added in commit 72862b565c.

See gh-10387
2017-11-18 20:43:59 -08:00
Phillip Webb
72862b565c Polish location check with vendor placeholder
Closes gh-10387
2017-11-18 20:29:43 -08:00
Eddú Meléndez
1ee47cec31 Support location check with vendor placeholder
Update location check logic triggered if `flyway.check-location=true`
to resolve any vendor placeholders in `flyway.locations`.

See gh-10387
2017-11-18 20:28:52 -08:00
Phillip Webb
4c29c35cbb Polish Kafka transaction support property
Closes gh-11076
2017-11-18 10:20:07 -08:00
nklmish
6d396b973f Add Kafka transaction support property
Add `spring.kafka.producer.transaction-id-prefix` property that will be
passed to `DefaultKafkaProducerFactory.setTransactionIdPrefix(...)`

See gh-11076
2017-11-18 10:15:39 -08:00
Johnny Lim
73c65286ea Polish 2017-11-18 10:07:30 -08:00
Stephane Nicoll
c4070e093c Polish 2017-11-18 09:05:28 +01:00
Johnny Lim
1783a072ad Remove explicit constructor super() calls
Closes gh-11068
2017-11-17 16:44:16 -08:00
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