2832 Commits

Author SHA1 Message Date
Andy Wilkinson
6ff449bd78 Align WebFluxAutoConfigurationTests with breaking Framework change
CompositeContentTypeResolver was recently removed [1] and
WebFluxConfigurationSupport now creates a RequestedContentTypeResolver
bean instead. This commit updates WebFluxAutoConfigurationTests
accordingly.

[1] 01a92517bd
2017-06-12 12:18:47 +01:00
Andy Wilkinson
f7e9ec5f42 Minimise our usage of SocketUtils.findAvailableTcpPort
Closes gh-9382
2017-06-09 14:45:09 +01:00
Andy Wilkinson
10868519e1 Adapt to breaking API change in Spring Data Commons 2017-06-09 13:53:11 +01:00
Andy Wilkinson
f5da19f2db Align HikariDriverConfigurationFailureAnalyzer with latest Framework change
The Framework now throws a CannotGetJdbcConnectionException rather
than an IllegalStateException.
2017-06-09 12:38:07 +01:00
Vedran Pavic
a80348753d Fix QuartzAutoConfigurtion failure with multiple Executor beans
`QuartzAutoConfigurtion` currently blows up if there are multiple
`Executor` beans in the context.

This commit changes the configuration to retrieve `Executor` bean using
`ObjectProvider#getIfUnique` which won't fail in scenarios where there
are multiple `Executor` beans with none marked as `@Primary`.

Closes gh-9434
2017-06-09 09:00:16 +03:00
Johnny Lim
bbab520926 Polish
Closes gh-9438
2017-06-09 08:54:55 +03:00
Andy Wilkinson
0061554105 Merge branch '1.5.x' 2017-06-07 17:19:56 +01:00
Andy Wilkinson
e5906a6b64 Allow HttpMsgConverter to depend on ConvService without creating a cycle
In an MVC web application, DelegatingWebMvcConfiguration provides the
ConversionService while also consuming WebMvcConfigurerAdapters that,
among other things, can configure HTTP message converters. Boot's
WebMvcConfigurerAdapter, WebMvcAutoConfigurationAdapter, consumes
the HttpMessageConverters bean and uses it to configure Spring MVC's
HTTP message converters. This can create a bean dependency cycle if
an HTTP message converter bean depends, directly or indirectly on
the ConversionService. An example of the cycle is:

┌─────┐
|  jsonComponentConversionServiceCycle.ThingDeserializer defined in …
↑     ↓
|  org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$EnableWebMvcConfiguration
↑     ↓
|  org.springframework.boot.autoconfigure.web.WebMvcAutoConfiguration$WebMvcAutoConfigurationAdapter
↑     ↓
|  org.springframework.boot.autoconfigure.web.HttpMessageConvertersAutoConfiguration
↑     ↓
|  mappingJackson2HttpMessageConverter defined in class path resource [org/springframework/boot/autoconfigure/web/JacksonHttpMessageConvertersConfiguration$MappingJackson2HttpMessageConverterConfiguration.class]
↑     ↓
|  jacksonObjectMapper defined in class path resource [org/springframework/boot/autoconfigure/jackson/JacksonAutoConfiguration$JacksonObjectMapperConfiguration.class]
└─────┘

This commit breaks the cycle by making WebMvcAutoConfigurationAdapter
consume HttpMessageConverters lazily. This allows the adapter to be
created without triggered instantiation of every HTTP message
converter bean and all their dependencies. This allows it to be
injected into DelegatingWebMvcConfiguration without triggering an
attempt to retrieve the ConversionService.

Closes gh-9409
2017-06-07 17:18:09 +01:00
Andy Wilkinson
6b7dfce5c6 Formatting 2017-06-07 17:17:57 +01:00
Andy Wilkinson
a03ddd331c Polishing 2017-06-07 17:14:26 +01:00
Andy Wilkinson
d0c8f80117 Merge branch '1.5.x' 2017-06-06 11:46:32 +01:00
Andy Wilkinson
ad629055fa Ensure that custom static resource locations end with /
Closes gh-9360
2017-06-06 11:39:04 +01:00
Stephane Nicoll
7f420d1268 Polish contribution
Closes gh-9411
2017-06-06 10:52:31 +02:00
Vedran Pavic
db060c847d Ensure QuartzDatabaseInitializer is initialized before Scheduler
If the auto-configured `Scheduler` instance backed by JDBC job store is
used as a dependency in an application component, the initialization of
`Scheduler` will be triggered before `QuartzDatabaseInitializer`. This
will result in failure due to schema not being prepared in time for
`Scheduler` to populate job details.

This commit ensures `QuartzDatabaseInitializer` is initialized before the
auto-configured `Scheduler` by introducing a dependency between the two.

See gh-9411
2017-06-06 10:14:49 +02:00
Stephane Nicoll
540dca7bdd Revisit InfluxDB configuration structure
This commit removes the `client` namespace for InfluxDB as the
component that is created is `InfluxDB`, not `InfluxDBClient` or
something.

This aligns with all the other url/user/password properties Spring
Boot provides already

See gh-9066
2017-06-05 11:00:14 +02:00
Phillip Webb
2c7dd9f519 Polish 2017-06-02 16:00:39 -07:00
Phillip Webb
8f7004738b Merge branch '1.5.x' 2017-06-02 13:48:27 -07:00
Phillip Webb
b9fd99e268 Polish 2017-06-02 13:47:28 -07:00
Stephane Nicoll
9624bf14c4 Merge branch '1.5.x' 2017-06-02 17:58:18 +02:00
Stephane Nicoll
f11edd1eb3 Add missing @Configuration on EmbeddedDatabaseConfiguration 2017-06-02 17:42:18 +02:00
Andy Wilkinson
8353843006 Merge branch '1.5.x' 2017-06-02 14:19:52 +01:00
Andy Wilkinson
a347383111 Merge branch '1.4.x' into 1.5.x 2017-06-02 14:18:44 +01:00
Andy Wilkinson
bf656c70ad Improve MultipartProperties' javadoc
Closes gh-9073
2017-06-02 14:13:26 +01:00
Stephane Nicoll
5e5b7e20ff Merge branch '1.5.x' 2017-06-02 14:57:08 +02:00
Stephane Nicoll
c736a1698b Clarify default value of ConditionalOnMissingBean on bean methods
Closes gh-9387
2017-06-02 14:55:58 +02:00
Stephane Nicoll
297127e075 Polish "Add influxDB java client auto-configuration"
Closes gh-9066
2017-06-02 10:47:50 +02:00
Sergey Kuptsov
6a70b90128 Add influxDB java client auto-configuration
See gh-9066
2017-06-02 09:57:45 +02:00
Stephane Nicoll
ba1bc45a53 Polish "Add PoolingOptions to CasandraProperties"
Closes gh-7946
2017-06-01 16:04:49 +02:00
Vladimir Tsanev
2aafc7daa9 Add PoolingOptions to CasandraProperties
This change allows users to configure some basic pooling
options for cassandra driver via configuration properties.

See gh-7946
2017-06-01 14:33:14 +02:00
Stephane Nicoll
5ea3ab4595 Polish "Allow to customize the JdbcTemplate"
Closes gh-7960
2017-06-01 10:50:52 +02:00
Kazuki Shimizu
fa357f0e27 Allow to customize the JdbcTemplate
See gh-7960
2017-06-01 10:50:43 +02:00
Stephane Nicoll
ad85902880 Reuse JdbcTemplate in NamedParameterJdbcTemplate
This commit makes sure to reuse an existing or auto-configured
`JdbcTemplate` when auto-configuring a `NamedParameterJdbcTemplate`.

This ensures that whatever customizations have been applied on the
`JdbcTemplate` are properly shared.

Closes gh-4945
2017-06-01 10:08:13 +02:00
Phillip Webb
42762a66b8 Upgrade to Elasticsearch 5.4.0
Upgrade to Elasticsearch 5.4.0 and fix auto-configuration to account for
API changes.

See gh-9374
2017-05-31 21:48:14 -07:00
Stephane Nicoll
6f25131a1d Polish 2017-05-31 17:25:38 +02:00
Andy Wilkinson
5ef29653c7 Polish 2017-05-31 15:05:19 +01:00
Andy Wilkinson
a9cecc860c Apply TestPropertyValues to the context under test
Closes gh-9367
2017-05-31 15:05:18 +01:00
Stephane Nicoll
eaa34874e8 Polish "Allow customization of MongoClientSettings.Builder"
Closes gh-9341
2017-05-31 15:48:22 +02:00
Mark Paluch
eeb961075f Allow customization of MongoClientSettings.Builder
MongoClientSettingsBuilderCustomizer allows customization of the
auto-configured `MongoClientSettings.Builder`.

See gh-9341
2017-05-31 15:48:22 +02:00
Stephane Nicoll
026682d7e3 Polish jOOQ auto-configuration 2017-05-31 11:25:26 +02:00
Stephane Nicoll
efdf451e6e Polish "Auto-detect jOOQ dialect"
Closes gh-9355
2017-05-31 11:16:12 +02:00
Michael J. Simons
1b4c5dffaf Auto-detect jOOQ dialect
See gh-9355
2017-05-31 10:43:40 +02:00
Stephane Nicoll
59a15b259c Polish "Add Quartz Scheduler support"
Closes gh-4299
2017-05-30 18:48:12 +02:00
Vedran Pavic
9e23206c31 Add Quartz Scheduler support
See gh-4299
2017-05-30 18:48:12 +02:00
Vedran Pavic
639641feea Replace WebMvcRegistrationsAdapter with default methods
Closes gh-9340
2017-05-30 14:14:47 +02:00
Stephane Nicoll
677d52f494 Polish "Add Spring Data Web configuration properties"
Closes gh-9339
2017-05-30 11:19:21 +02:00
Vedran Pavic
e9ac41f83f Add Spring Data Web configuration properties
This commit adds support for configuring Spring Data Web
`PageableHandlerMethodArgumentResolver` and
`SortHandlerMethodArgumentResolver` using configuration properties.

See gh-9339
2017-05-30 10:07:14 +02:00
Stephane Nicoll
7aa84cf395 Fix checkstyle violation 2017-05-29 17:09:13 +02:00
Stephane Nicoll
a05dd4a1b3 Polish 2017-05-29 16:23:36 +02:00
Stephane Nicoll
b8591206d5 Polish 2017-05-29 11:49:46 +02:00
Stephane Nicoll
062dc3cb9a Upgrade to Neo4J OGM 2.1.3
Closes gh-9335
2017-05-29 11:48:55 +02:00