Commit Graph

737 Commits

Author SHA1 Message Date
Johnny Lim 8383b76138 Move CorsEndpointProperties to the parent package
`CorsEndpointProperties` lives in `endpoint.web.servlet` but is also used
in `endpoint.web.reactive`, so this PR moves it to its common parent
package.

This commit also extracts `CorsConfiguration` creation logic duplicated
in `WebMvcEndpointManagementContextConfiguration` and
`WebFluxEndpointManagementContextConfiguration` into
`CorsEndpointProperties`.

See gh-11439
2017-12-28 10:40:51 +01:00
Stephane Nicoll f57ff3a777 Merge branch '1.5.x' 2017-12-27 17:15:01 +01:00
Johnny Lim 38a188f557 Add a Checkstyle rule to prevent Commons Lang/Lang 3 imports
Closes gh-11432
2017-12-27 16:46:34 +01:00
Johnny Lim 8f7ab95e0e Use BufferedReader.lines()
Closes gh-11436
2017-12-27 16:44:27 +01:00
Stephane Nicoll 50a4982a52 Merge branch '1.5.x' 2017-12-27 16:35:36 +01:00
Joe Kutner c5695c8f78 Fix spring.quartz.jdbc.initialize-schema value
Use enum value from DataSourceInitializationMode instead of Boolean.

Closes gh-11433
2017-12-27 16:15:25 +01:00
Johnny Lim 3c5ccb1166 Polish
Closes gh-11418
2017-12-26 09:47:10 +01:00
Johnny Lim b35348b41d Remove org.flywaydb.core.internal.util.StringUtils import
Closes  gh-11396
2017-12-24 12:20:03 +01:00
Stephane Nicoll a8f5e1a361 Merge branch '1.5.x' 2017-12-24 12:19:40 +01:00
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 47bc5e71ab

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
Stephane Nicoll e274f29018 Add "testing your auto-configuration" doc section
Closes gh-10011
2017-12-12 17:01:40 +01:00
Brian Clozel 175f451b0f Polish 2017-12-12 16:41:44 +01:00
Alessandro Ciccimarra e1def637ae Apply configurers on MeterRegistry before injection
MeterRegistryConfigurers are now applied within the Bean method
creating the CompositeMeterRegistry, instead of applying them
later in its lifecycle, when the bean itself could have been
injected somewhere.

Fixes gh-11319
2017-12-12 16:03:37 +01:00
Andy Wilkinson 04068ee792 Tolerate custom response status in WebMvcTags
Closes gh-11263
2017-12-12 13:20:07 +00:00
Andy Wilkinson 58d1f99a1e Merge branch '1.5.x' 2017-12-12 12:55:27 +00:00
Andy Wilkinson d0981a1f6d Merge branch '1.5.x' 2017-12-12 12:47:38 +00:00
Stephane Nicoll 23218add90 Polish 2017-12-12 11:57:30 +01:00
Brian Clozel 97c91eee94 Merge pull request #11316 from dkublik:adding-MetricsClientHttpRequestInterceptor-only-once
* pr/11316:
  Polish
  Avoid duplicate Metrics HTTP interceptor registration
2017-12-12 11:23:08 +01:00
Brian Clozel c82f1016c1 Polish 2017-12-12 11:22:36 +01:00
dawid.kublik@vimn.com 77d4448c0e Avoid duplicate Metrics HTTP interceptor registration
Closes gh-11315
2017-12-12 11:21:20 +01:00
Stephane Nicoll 68c8f7bae6 Add support for useRelativeRedirects customization
Closes gh-10597
2017-12-12 10:32:58 +01:00
Stephane Nicoll 6a4a0e3f29 Polish "Make RabbitTemplate exchange and routingKey configurable"
Closes gh-10978
2017-12-12 09:09:08 +01:00
Arlo O'Keeffe 4e31d2041a Make RabbitTemplate exchange and routingKey configurable
See gh-10978
2017-12-12 08:52:48 +01:00
Stephane Nicoll 4eda29a42e Merge branch '1.5.x' 2017-12-12 08:50:13 +01:00
Stephane Nicoll 408368a1f9 Polish "Allow graceful shutdown of Atomikos"
Closes gh-11237
2017-12-12 08:30:24 +01:00
nklmish 46d94aba4f Allow graceful shutdown of Atomikos
See gh-11237
2017-12-12 08:18:42 +01:00
Stephane Nicoll 2da6675c42 Polish
See gh-10963
2017-12-12 08:16:00 +01:00
Madhura Bhave a5ce4a10f1 Update reference doc with security changes
Fixes gh-11172
2017-12-11 15:15:47 -08:00
Madhura Bhave 47ed096981 Make default username and password configurable
Closes gh-10963
2017-12-11 15:15:47 -08:00
Brian Clozel e68d8a3f98 Merge branch '1.5.x' 2017-12-11 23:37:54 +01:00
Brian Clozel 5f3c2bef50 Add CORS support to Actuator WebFlux
Closes gh-11308
2017-12-11 22:33:51 +01:00
Brian Clozel deb16e1617 Polish 2017-12-11 22:11:24 +01:00
Stephane Nicoll 5ef9364085 Polish 2017-12-11 17:55:12 +01:00
Johnny Lim 384819ab5f Add @Configuration to ScheduledTasksEndpointAutoConfiguration
Closes gh-11313
2017-12-11 17:46:16 +01:00
Stephane Nicoll 0b59751bf8 Fix Spring Data Couchbase Reactive starter
Closes gh-11245
2017-12-11 13:40:39 +01:00
Wendal Chen 9313ce8835 Add ref to Nutz.Dao Spring Boot starter
Closes gh-11212
2017-12-10 10:42:25 -08:00
Stephane Nicoll f75ab21c7e Upgrade to Spring Batch 4.0.0.RELEASE
Closes gh-11305
2017-12-09 15:53:42 -08:00
Johnny Lim 96250743b5 Add missing "abstract" keywords
Closes gh-11303
2017-12-09 15:29:15 -08:00
Madhura Bhave 954cf72de4 Fix javadoc 2017-12-08 15:32:40 -08:00
Johnny Lim 6d54072e04 Remove "final" keywords
Closes gh-11294
2017-12-08 11:13:07 -08:00