22717 Commits

Author SHA1 Message Date
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
Stephane Nicoll
47c8b5731a polish 2017-12-13 14:41:39 +01:00
Stephane Nicoll
7216a8fa38 Polish
See gh-11341
2017-12-13 14:22:57 +01:00
Stephane Nicoll
bc5863df8d Do not attempt to clear ResourceManager's cache with Java9
Closes gh-10927
2017-12-13 12:30:16 +01:00
Stephane Nicoll
d6fe4b9a6a Polish 2017-12-13 12:18:59 +01:00
Stephane Nicoll
e5361d887c Relocate banner properties to spring.banner
Closes gh-11339
2017-12-13 12:01:23 +01:00
Stephane Nicoll
b6aa0f24e2 Clean endpointIds in generated metadata
Closes gh-11107
2017-12-13 10:18:08 +01:00
Stephane Nicoll
7f2af8b209 Polish 2017-12-13 09:46:41 +01:00
Johnny Lim
de72f2ae32 Polish
Closes gh-11327
2017-12-13 09:38:20 +01:00
dreis2211
a93a4e8715 Use String.equalsIgnoreCase() where possible
Closes gh-11330
2017-12-13 09:02:45 +01:00
Thiago Hirata
f3055f2685 UserNameAttribute for custom OAuth2 provider
The UserNameAttribute field for a custom OAuth2 provider was
ignored when building the ClientRegistration.

Closes gh-10672
2017-12-12 12:40:33 -08:00
Madhura Bhave
4b73c5748b Fix typo in documentation
Fixes gh-11329
2017-12-12 10:50:55 -08:00