678 Commits

Author SHA1 Message Date
Johnny Lim
e32287164b Use Supplier version of Assert.state()
Closes gh-11362
2017-12-23 14:31:38 +01:00
Johnny Lim
3a276d2a87 Rename CloudFoundryHealthWebEndpointManagementContextConfiguration
Closes gh-11400
2017-12-23 14:23:24 +01:00
Johnny Lim
4cc598ac5e Replace contains() with indexOf()
Closes gh-11373
2017-12-23 14:00:27 +01:00
Stephane Nicoll
544c40d46d Upgrade to Spring Kafka 2.1.0.RELEASE
Closes gh-11415
2017-12-23 13:44:49 +01:00
Johnny Lim
240aaadd83 Fix package name for InfluxDB
Closes gh-11364
2017-12-23 13:27:58 +01:00
Johnny Lim
e4f0ad2165 Polish
Closes gh-11372
2017-12-23 13:11:53 +01:00
dreis2211
a434e5cc5f Fix JsonbHttpMessageConvertersConfiguration javadoc
Closes gh-11368
2017-12-23 12:54:50 +01:00
Eddú Meléndez
cc9b2a9786 Fix property key to enable influxdb health endpoint
Closes gh-11365
2017-12-23 12:51:24 +01:00
Phillip Webb
ad1c8d773f Start properties validator in background thread
Change the default JSR-303 validator used by the configuration
properties binder so that it's initialized in a background thread.
This change allows the context to carry on loading additional beans
whilst the validator is initializing.

Fixes gh-11412
2017-12-22 21:16:47 -08:00
Phillip Webb
5f10c82284 Change property mapper to use array returns
Update the `PropertyMapper` interface to return arrays rather than
Lists. Since implementations are package-private it's possible for us
to control how they are used and it helps to save a little memory.

Fixes gh-11411
2017-12-22 20:57:38 -08:00
Phillip Webb
2efa21c570 Make hot methods in-line friendly
Refactor a few hot methods so that they are more likely to be in-lined
by the JIT.

Fixes gh-11409
2017-12-22 20:55:47 -08:00
Phillip Webb
e141f77801 Share BinderConversionService with a static
Use a single shared static `BinderConversionService` instance for all
created binders to save memory and improve performance.

Fixes gh-11352
2017-12-22 20:54:00 -08:00
Phillip Webb
6cb331ed2c Cache endpoint enabled-by-default result
Update `OnEnabledEndpointCondition` so that the result of
`management.endpoints.enabled-by-default` is cached between calls.

Fixes gh-11407
2017-12-22 20:52:07 -08:00
Phillip Webb
7f0048a899 Use fast exceptions when enumerating resources
Update the `LaunchedURLClassLoader` used for fat jar support so that
each iteration on a `findResources` result also allows for fast
exceptions.

Fixes gh-11406
2017-12-22 20:50:07 -08:00
Phillip Webb
aa66d5dfb8 Reduce garbage created when loading fat jars
Refactor fat jar loader classes so that less `char[]` instances are
created. This is primarily achieved by adding a new `StringSequence`
class that can chop up Strings without needing to copy the underlying
array. Since Java 8, calls to `String.subString(...)` always copy the
underlying char array. For many of the operations that we need, this
is unnecessary.

Fixes gh-11405
2017-12-22 20:49:17 -08:00
Phillip Webb
c024313141 Drop environment variable "__" list support
Remove support for the `__` environment variable list shortcut in order
to reduce complexity. The shortcut was developed before the new `Binder`
code was fully formed and isn't really necessary now since comma-lists
can be converted automatically.

Fixes gh-11410
2017-12-22 12:15:12 -08:00
Phillip Webb
1ea921bfdd Migrate to OAuth2Client to use PropertyMapper
See gh-9018
2017-12-22 09:55:21 -08:00
Phillip Webb
ba86b68484 Polish 2017-12-22 09:48:30 -08:00
Phillip Webb
6eabe8235c Add optional javax.money dependency
Add an optional dependency to `javax.money` to Eclipse errors in
`WebConversionService`.

See gh-5523
See gh-11402
2017-12-22 09:48:29 -08:00
dreis2211
00d12c5b2d Align 'behavior' spelling to style guide
Closes gh-11394
2017-12-22 18:15:19 +01:00
Christoph Dreis
1a7fd6c359 Fix typo
Closes gh-11388
2017-12-22 18:12:06 +01:00
Brian Clozel
2fa0539e7f Support date conversion format for java.time types
Prior to this change, the Spring MVC auto-configuration would add a new
formatter to convert `java.util.Date` to/from `String` using the
configured configuration property `spring.mvc.date-format`.

This commit adds a new `WebConversionService` class that registers
date formatters with a custom date format, or register the default ones
if no custom configuration is provided.
This avoids duplicating equivalent formatters in the registry.

With this change, date types from `java.util`, `org.joda.time` and
`java.time` are now all supported.

This commit also replicates this feature for WebFlux applications by
adding a new `spring.webflux.date-format` configuration property.

Closes gh-5523
Closes gh-11402
2017-12-22 16:07:33 +01:00
Madhura Bhave
ec26488ff1 Allow encoding default password in reactive user details
See gh-10963
2017-12-20 10:29:20 -08:00
Madhura Bhave
1b93f84912 Allow encoded password for default user
If raw password is provided, add {noop} prefix.
If prefix is present or PasswordEncoder bean is provided,
use the password as is.

Closes gh-10963
2017-12-18 14:34:02 -08:00
Phillip Webb
5e9cfea5a8 Migrate to auto-configurations to PropertyMapper
Update auto-configuration classes that have extensive property mapping
code to make use of the new `PropertyMapper` utility.

Fixes gh-9018
2017-12-15 18:32:07 -08:00
Phillip Webb
241a7086c0 Add PropertyMapper utility class
Add a utility class that can help when mapping values from
`@ConfigurationProperties` to a third-party class.

See gh-9018
2017-12-15 18:32:06 -08:00
Phillip Webb
befdbaaaa9 Polish 2017-12-15 14:57:25 -08:00
Stephane Nicoll
b7435016fb Improve Couchbase health indicator
This commit improve the couchbase health indicator to list the available
nodes. Doing so improves the reliability of the indicator as accessing
the bucket forces a remote call and better detect the cases where the
broker is down.

Closes gh-7369
2017-12-15 18:58:53 +01:00
Stephane Nicoll
2ed162a0be Fix outdated references to server.context-path
Closes gh-11358
2017-12-15 10:24:14 +01:00
Stephane Nicoll
7566a197b0 Fix type for spring.data.cassandra.contact-points
Closes gh-11354
2017-12-15 10:13:40 +01:00
Madhura Bhave
bf3aa62a58 Merge branch '1.5.x' 2017-12-14 13:45:20 -08:00
Madhura Bhave
c94f0822e5 Fix bean names in tests
See gh-11224
2017-12-14 12:30:13 -08:00
Stephane Nicoll
27922ae325 Polish 2017-12-14 17:06:46 +01:00
Stephane Nicoll
dddf2c0013 Polish "Expose default RabbitMQ credentials in the metadata"
Closes gh-6863
2017-12-14 15:41:15 +01:00
Zoltan Altfatter
878a2e1a49 Expose default RabbitMQ credentials in the metadata
See gh-6863
2017-12-14 15:41:08 +01:00
Stephane Nicoll
9c7b944e4f Polish 2017-12-14 15:17:42 +01:00
Stephane Nicoll
a33c3eec3f Polish "Add InfluxDb health indicator"
Closes gh-11159
2017-12-14 15:16:00 +01:00
Eddú Meléndez
cdbdc1cb7f Add InfluxDb health indicator
See gh-11159
2017-12-14 15:15:08 +01:00
Stephane Nicoll
b7c2bd9ca8 Remove problematic words from documentation
Closes gh-11224
2017-12-14 14:49:24 +01:00
Stephane Nicoll
ef78cb33b3 Move metrics properties to "management.metrics"
Closes gh-11340
2017-12-14 12:27:24 +01:00
Stephane Nicoll
de8fe7550f Polish 2017-12-14 12:16:22 +01:00
Stephane Nicoll
0e20ed1d68 Merge branch '1.5.x' 2017-12-14 11:01:22 +01:00
Stephane Nicoll
41720ca93d Improve extension of Neo4jHealthIndicator
This commit makes it easier to extend `Neo4jHealthIndicator` for cases
where a custom cypher needs to be executed.

Closes gh-11120
2017-12-14 10:01:57 +01:00
Stephane Nicoll
797ad13bfa Merge branch '1.5.x' 2017-12-14 09:35:50 +01:00
Stephane Nicoll
22aeb74d73 Polish 2017-12-14 08:40:03 +01:00
Phillip Webb
ed2460b091 Add support for animated GIFs
Update ImageBanner to support animated GIFs. Animations rely on ANSI
cursor codes so don't work so well in an IDE. They do, however, work
when running the app from a terminal.

See also commit 47bc5e71abb05ae888e3d24530e97d59884e8d68

Closes gh-11118
2017-12-13 14:58:11 -08:00
Phillip Webb
3273859fde Polish 2017-12-13 14:32:55 -08:00
Phillip Webb
5ca608330c Merge branch '1.5.x' 2017-12-13 13:07:18 -08:00
Stephane Nicoll
681fdb1ee8 Property detect Health web extension with management context
Previously, the Health web extension was defined in the management
context and, as a result, it wasn't found when a separate port was
required. The side effect is that anything that the health web extension
does was not active anymore in that case.

This commit makes sure that the extension is always defined as part of
the main context where operations are discovered and merged.

Closes gh-11285
2017-12-13 17:47:18 +01:00
Stephane Nicoll
a626f5462d Consistent use of @AliasFor
Closes gh-10836
2017-12-13 14:42:16 +01:00