Commit Graph

1477 Commits

Author SHA1 Message Date
Phillip Webb 7e10d86ed3 Polish 2018-02-22 21:37:31 -08:00
Phillip Webb 3dea6fc645 Fix bind TypeConverter delegation with collections
Update `BindConverter` so that delegation to `SimpleTypeConverter` also
works with Collections and Arrays.

Prior to this commit, conversion that relied on a `PropertyEditor` would
only work for simple types. For example, "String -> Class<?>" would use
the `ClassEditor` but "String -> List<Class<?>>" would fail.

The `BindConverter` now uses a minimal `ConversionService` as an adapter
to the `SimpleTypeConverter`. This allows us to use the same delimited
string conversion logic as the `ApplicationConverter`.

Fixes gh-12166
2018-02-22 21:26:36 -08:00
Phillip Webb 4b9c3c137e Polish Collection.toArray
Consistently use `StringUtils.toStringArray`, `ClassUtils.toClassArray`
or zero length when converting collections to arrays.

Fixes gh-12160
2018-02-22 21:11:30 -08:00
Johnny Lim 680287635c Rename TestRestTemplateTestContextCustomizer*
Closes gh-12182
2018-02-22 20:26:14 -08:00
Phillip Webb cd5266ac03 Polish 2018-02-22 20:25:28 -08:00
Andy Wilkinson 80ac4f85c9 Merge pull request #12172 from Raja Kolli
* gh-12172:
  Upgrade to JUnit Platform 1.1.0
2018-02-22 18:48:38 +00:00
Raja Kolli 8f2eea4dfd Upgrade to JUnit Platform 1.1.0
Closes gh-12172
2018-02-22 18:47:52 +00:00
Brian Clozel dcf61abe30 Fix Reactive Server auto-configuration ordering
This commit ensures that Tomcat is the first reactive server configured
if the Tomcat dependency is on classpath.

Spring Boot chose Reactor Netty as the default for the reactive web
starter, but the Reactor Netty dependency can be used also for its HTTP
client. In case developers are adding Tomcat, Undertow or Jetty on their
classpath, we must configure those and consider Reactor Netty for the
client only.

Fixes gh-12176
2018-02-22 18:04:53 +01:00
Stephane Nicoll 3fddfee65c Fix default value of endpoint's cache ttl
Closes gh-12173
2018-02-22 13:35:50 +01:00
Johnny Lim 2fe86da95b Use isTrue() and isFalse() for AssertJ
Closes gh-12170
2018-02-22 09:55:40 +01:00
Stephane Nicoll 865775e955 Fix statsd example
Closes gh-12162
2018-02-22 09:00:13 +01:00
Phillip Webb 5917a58bf1 Add Automatic-Module-Name to manifest file
Update build to add `Automatic-Module-Name` entry to the manifest file.
Also refined a few of the other entries that appear.

Fixes gh-11994
2018-02-21 16:03:13 -08:00
Johnny Lim 50c07d0772 Polish
Closes gh-12156
2018-02-21 17:46:57 +01:00
Stephane Nicoll 75505c78f5 Polish 2018-02-21 17:41:19 +01:00
Andy Wilkinson e7176c63f5 Stop DataSource initialization from preventing Hikari instrumentation
Closes gh-12129
2018-02-21 10:32:41 +00:00
Madhura Bhave 33be78a91e Add additional profile negation tests
Closes gh-8011
2018-02-21 01:57:03 -08:00
Phillip Webb 4bde6b80ee Refactor YAML profile to deal with "!" profiles
Drop `SpringProfileDocumentMatcher` and replace it with two new
implementations that restrict when YAML documents are loaded. YAML
sections are now restricted both on the specific profile that is being
loaded, and the profiles that are currently accepted.

The `PropertySourceLoader` interface has been refined to include a
predicate that determines when a profile is accepted. The
`ConfigFileApplicationListener` simply delegates the predicate logic to
the `Environment`.

Fixes gh-8011
2018-02-21 01:57:03 -08:00
Stephane Nicoll b03fd99209 Polish 2018-02-21 10:20:32 +01:00
Stephane Nicoll d7e000da53 Add missing JMX section 2018-02-21 10:19:41 +01:00
Johnny Lim 1bd94b3499 Remove an obsolete warning in doc
Closes gh-12150
2018-02-21 09:27:14 +01:00
Stephane Nicoll e7db69be7a Polish
See gh-11869
2018-02-21 07:39:40 +01:00
Phillip Webb 3076a5523a Fix checkstyle violation 2018-02-20 22:37:37 -08:00
Phillip Webb 8c24988faa Fix checkstyle violation 2018-02-20 22:02:02 -08:00
Phillip Webb 349987d9be Switch show details default to ShowDetails.NEVER
Closes gh-11869
2018-02-20 16:43:11 -08:00
Phillip Webb 46021928ba Rework common server customization
Update the configurable embedded web server factory interfaces to
extend `ConfigurableWebServerFactory` so that the can be used in a
`WebServerFactoryCustomizer`.

Extract server specific customization to their own auto-configuration
and align reactive/servlet server auto-configuration.

Closes gh-8573
2018-02-20 16:27:15 -08:00
Phillip Webb aafa1e9615 Rename MetricsIntegrationAutoConfiguration
Rename `MetricsIntegrationAutoConfiguration` to
`IntegrationMetricsAutoConfiguration`.

Closes gh-12147
2018-02-20 16:25:51 -08:00
Phillip Webb 0925a0957e Polish 2018-02-20 16:24:35 -08:00
Phillip Webb 8f5f0bda50 Upgrade to Spring Session Apple-SR1
Closes gh-12092
2018-02-20 16:08:13 -08:00
Phillip Webb fe1f0cf90e Upgrade to Micrometer 1.0.0
Closes gh-11877
2018-02-20 16:02:46 -08:00
Phillip Webb 3ec5f70c52 Upgrade to Spring Integration 5.0.2.RELEASE
Closes gh-12130
2018-02-20 15:55:40 -08:00
Phillip Webb 05faac2b09 Polish 2018-02-20 15:53:25 -08:00
Phillip Webb cdb5677375 Polish Binder constructor
Reinstate constructor signature used by Spring Cloud and improve
javadoc.

Closes gh-12095
2018-02-20 15:36:43 -08:00
Andy Wilkinson b5e2c5ec1c Polish 2018-02-20 19:58:39 +00:00
Stephane Nicoll a7cccac0d0 Remove deprecation note for property that was renamed in 2.0 2018-02-20 18:57:25 +01:00
Stephane Nicoll ce01a9145b Polish 2018-02-20 18:45:36 +01:00
Andy Wilkinson 8f699cd6f6 Use RoleVoter for role checks in ReactiveSecurityContext
See gh-11869
2018-02-20 17:11:57 +00:00
Andy Wilkinson ae45b6730b Apply ROLE_ prefix when needed in ReactiveSecurityContext isUserInRole
See gh-11869
2018-02-20 16:38:16 +00:00
Stephane Nicoll 20f104766b Add missing default values for enums 2018-02-20 17:33:32 +01:00
Andy Wilkinson daa280faff Drop AuthorityReactiveAuthorizationManager and avoid need to block
See gh-11869
2018-02-20 16:29:28 +00:00
Stephane Nicoll 45476961c1 Polish
See gh-12129
2018-02-20 17:02:03 +01:00
Andy Wilkinson 5e61b646fa Upgrade to Neo4j Ogm 3.1.0
Closes gh-12145
2018-02-20 15:52:56 +00:00
Andy Wilkinson 024a42a830 Upgrade to Mariadb 2.2.2
Closes gh-12144
2018-02-20 15:52:56 +00:00
Andy Wilkinson feb82b49f2 Upgrade to Johnzon Jsonb 1.1.6
Closes gh-12143
2018-02-20 15:52:56 +00:00
Andy Wilkinson ac69ec1f1b Upgrade to Junit Jupiter 5.1.0
Closes gh-12142
2018-02-20 15:52:56 +00:00
Stephane Nicoll 0492d53117 Polish 2018-02-20 16:52:15 +01:00
Andy Wilkinson e2315658e6 Merge branch '1.5.x' 2018-02-20 15:47:43 +00:00
Stephane Nicoll 6f59dd6b17 Polish "Update documentation to reference webjars-locator-core"
Closes gh-12135
2018-02-20 16:37:34 +01:00
Nikola Kološnjaji 4da4a4d385 Update documentation to reference webjars-locator-core
See gh-12135
2018-02-20 16:33:19 +01:00
Stephane Nicoll 0f75a9a9fe Rework Hikari metrics registration
This commits move the Hikari metrics registration to a BeanPostProcessor
as the Hikari datasource cannot be modified once its configuration has
been sealed (usually happens when `getConnection` is invoked on the
pool).

Closes gh-12129
2018-02-20 16:25:51 +01:00
Stephane Nicoll 1b8f0d06a7 Test that custom `ProtocolResolver` is invoked
See gh-11659
2018-02-20 14:45:51 +01:00
Stephane Nicoll 7c365bb253 Polish 2018-02-20 13:42:28 +01:00
Andy Wilkinson 87ef9a1d97 Polish 2018-02-20 12:37:24 +00:00
Stephane Nicoll 0a795b005e Add missing documentation
See gh-12129
2018-02-20 13:29:28 +01:00
Stephane Nicoll 784372e6b3 Polish "Auto-configure metrics for Hikari"
Closes gh-12129
2018-02-20 13:24:45 +01:00
Tommy Ludwig 05e1f22824 Auto-configure metrics for Hikari
HikariCP has metrics integration with Micrometer. This configures all
`HikariDataSource` beans with the `MicrometerMetricsTrackerFactory` if a
`MeterRegistry` is available.

See gh-12129
2018-02-20 13:22:42 +01:00
Andy Wilkinson 3e4baf744e Use role-based security to show details in the health endpoint
Closes gh-11869
2018-02-20 12:12:05 +00:00
Stephane Nicoll a5960bc0c3 Polish 2018-02-20 11:47:20 +01:00
Stephane Nicoll 44b7673ee6 Polish 2018-02-20 11:04:52 +01:00
Stephane Nicoll f19b43bacc Polish "Consistent prefix for datasource pool metrics"
Closes gh-12127
2018-02-20 10:07:00 +01:00
Jon Schneider 16867f866c Consistent prefix for datasource pool metrics
See gh-12127
2018-02-20 09:35:43 +01:00
Andy Wilkinson 8ffa146660 Upgrade to Spring Security 5.0.2.RELEASE
Closes gh-11870
2018-02-20 07:34:26 +00:00
Phillip Webb 20109e27be Add ApplicationConversionService and fix binder
Create a new `ApplicationConversionService` similar in design to the
DefaultFormattingConversionService from Spring Framework. The new
conversion service provides a central place for custom conversion logic
supported by Spring Boot.

Also replace the `BindingConversionService` with an internal
`BindConverter` class that now invokes the `SimpleTypeConverter`
directly. Binding for `@ConfigurationProperties` has been updated so
that any custom property editors registered with the BeanFactory can
be used.

Fixes gh-12095
2018-02-19 20:25:47 -08:00
Phillip Webb 61f44179cb Relocate XA wrapper types
Move `XADataSourceWrapper` to `jdb` and `XAConnectionFactoryWrapper` to
`jms` so that they are packaged in a similar way to the underlying XA
types.

Fixes gh-12061
2018-02-19 20:22:03 -08:00
igor-suhorukov fe023817c7 Polish static finals
Closes gh-12083
2018-02-19 20:10:58 -08:00
Johnny Lim 88b184ca23 Polish 2018-02-19 20:00:20 -08:00
Jon Schneider ec5ef0f246 Fix URI tag on RestTemplate requests based on URIs
Move leading slash logic from `MetricsClientHttpRequestInterceptor` to
`RestTemplateExchangeTags` so that URI based calls are also managed.

Closes gh-12126
2018-02-19 19:57:24 -08:00
Phillip Webb adf22d6e4a Polish 2018-02-19 19:54:10 -08:00
Andy Wilkinson 482ecc606c Polish 2018-02-19 22:46:31 +00:00
Andy Wilkinson 22bac1b54e Polish "Bind StatsD queue gauges"
Closes gh-12124
2018-02-19 21:24:24 +00:00
Jon Schneider 53e872bf4c Bind StatsD queue gauges
See gh-12124
2018-02-19 21:21:58 +00:00
Andy Wilkinson c7fafacb8d Upgrade to Spring Data Kay SR4
Closes gh-11884
2018-02-19 21:08:44 +00:00
Andy Wilkinson ce64f212b4 Upgrade to Reactor Bismuth SR 6
Closes gh-12085
2018-02-19 19:48:07 +00:00
Jon Schneider 9934285bca Remove destroy methods from auto-configured MeterRegistry beans
Closes gh-12121
2018-02-19 17:44:38 +00:00
Andy Wilkinson 73460a5b25 Use auto-configuration to create composite, not a BFPP
Closes gh-12122
2018-02-19 17:41:23 +00:00
Stephane Nicoll 1e932860c4 Specify default micrometer values
This commit adds micrometer's default values for each monitoring
system with tests that validate those defaults are consistent. This
makes sure that those defaults are part of the metadata and any tooling
support that uses it.

Closes gh-12089
2018-02-19 16:41:28 +01:00
Stephane Nicoll 202ed7b72b Polish 2018-02-19 16:20:56 +01:00
Andy Wilkinson 23905490d9 Upgrade to Mongo Driver Reactivestreams 1.7.1
Closes gh-12116
2018-02-19 14:59:46 +00:00
Andy Wilkinson 359ba0e96a Upgrade to Jooq 3.10.5
Closes gh-12115
2018-02-19 14:59:46 +00:00
Andy Wilkinson 4e2dc26d4c Upgrade to Infinispan 9.1.6.Final
Closes gh-12114
2018-02-19 14:59:46 +00:00
Andy Wilkinson 66a6181f18 Upgrade to Rxjava 1.3.6
Closes gh-12113
2018-02-19 14:59:46 +00:00
Stephane Nicoll cd0c81fe39 Restore prefix in ConditionalOnProperty 2018-02-19 15:46:39 +01:00
Andy Wilkinson c3a31fafe2 Remove tangle between actuate.endpoint and actuate.endpoint.invoke
See gh-11854
2018-02-19 13:04:23 +00:00
Stephane Nicoll 24e7a11222 Upgrade to Spring Framework 5.0.4
Closes gh-11894
2018-02-19 13:27:41 +01:00
Andy Wilkinson 990a0965f7 Upgrade to Lettuce 5.0.2
Closes gh-11870
2018-02-19 12:21:45 +00:00
Andy Wilkinson 39ece9a16f Merge branch '1.5.x' 2018-02-19 10:37:54 +00:00
Stephane Nicoll 6c85ed70e4 Polish "Add SignalFxConfig source property"
Closes gh-12066
2018-02-19 10:53:25 +01:00
Jon Schneider a732053afd Add SignalFxConfig source property
See gh-12066
2018-02-19 10:49:43 +01:00
Stephane Nicoll 1dab83adaa Polish "Restore behavior of management.metrics.export.simple.enabled"
Closes gh-12106
2018-02-19 10:44:09 +01:00
Jon Schneider da759f29d0 Restore behavior of management.metrics.export.simple.enabled
See gh-12106
2018-02-19 10:08:22 +01:00
Andy Wilkinson 19ce68d2d8 Prefix endpoint's path to controller endpoint mappings with no path
Previously, if a controll endpoint included a mapping with no path,
it would be mapped to the root of the application rather than the
root of the endpoint's path.

This commit updates the handler mappings for both reactive and Servlet
web applications to treat a mapping with no paths as being a mapping
with a single empty path. This ensures that a path with the endpoint's
path prepended is used for the mapping.

Closes gh-12104
2018-02-18 19:53:57 +00:00
Andy Wilkinson da5bebf574 Revert "Use Jersey BOM in dependency management"
This reverts commit da7bf05c87.

Closes gh-12103
2018-02-18 09:52:19 +00:00
Simon Braconnier 1a238bae29 Add JODConverter support
Closes gh-12098
2018-02-17 10:34:23 +01:00
Phillip Webb 1d83e87bcd Validate @ConfigurationProperties on @Bean methods
Refactor `ConfigurationPropertiesBindingPostProcessor` to allow JSR-303
validation on `@ConfigurationProperties` defined at the `@Bean` method
level.

JSR-303 validation is now applied when a JSR-303 implementation is
available and `@Validated` is present on either the configuration
properties class itself or the `@Bean` method that creates it.

Standard Spring validation is also supported using a validator bean
named `configurationPropertiesValidator`, or by having the configuration
properties implement `Validator`.

The commit also consolidates tests into a single location.

Fixes gh-10803
2018-02-16 18:11:54 -08:00
Phillip Webb 9e75680e6f Polish 2018-02-16 18:11:54 -08:00
Brian Clozel db7268b841 Fix TestRestTemplate request factory management
This commit fixes two issues in `TestRestTemplate`:

* it improves the detection of the underlying request factory, using
reflection to look inside the intercepting request factory if
interceptors were configured

* it avoids reusing the same request factory when creating a new
`TestRestTemplate` with `withBasicAuth`. Sharing the same instance would
result in sharing authentication state (HTTP cookies). Since the
original request factory can't be detected consistently, a new one is
selected automatically

See gh-8697
2018-02-16 22:36:20 +01:00
Madhura Bhave 51de220b55 Enable CSRF protection by default
Fixes gh-11758
2018-02-16 13:31:51 -08:00
Andy Wilkinson d1714a5c2a Upgrade to Hazelcast 3.9.3
Closes gh-12094
2018-02-16 20:32:14 +00:00
Andy Wilkinson c1c162ab0c Polish "Add auto-configuraton for exporting metrics to Wavefront"
Closes gh-12068
2018-02-16 20:30:31 +00:00
Jon Schneider 142dbb2213 Add auto-configuration for exporting metrics to Wavefront
See gh-12068
2018-02-16 20:00:45 +00:00
Andy Wilkinson 46eb88c299 Use Spring Session's bom for its dependency management
Closes gh-11853
2018-02-16 17:40:40 +00:00