1986 Commits

Author SHA1 Message Date
Phillip Webb
c201c1dac1 Polish 2018-03-15 16:09:14 -07:00
Madhura Bhave
e6149fda1c Assert endpoints basePath starts with '/' or is empty
Fixes gh-12489
2018-03-15 11:39:37 -07:00
Vladimir Tsanev
bf433e7f17 Fix Javadoc for ServiceLevelAgreementBoundary
Closes gh-12492
2018-03-15 13:40:13 +01:00
dreis2211
8626daf135 Replace Mockito.times(0) with Mockito.never()
Closes gh-12475
2018-03-14 15:12:20 -07:00
Phillip Webb
a4b0be089d Polish 2018-03-14 14:05:26 -07:00
Andy Wilkinson
2f1b2e3ce2 Log summary of web-exposed endpoints during startup
Closes gh-12442
2018-03-13 14:55:51 +00:00
Andy Wilkinson
f758a4ddd5 Do not link to controller endpoints in Jersey-based Actuator
Closes gh-12463
2018-03-13 14:55:51 +00:00
dreis2211
a21ea612db Remove duplicated @author tags
Closes gh-12454
2018-03-13 08:51:17 +01:00
igor-suhorukov
93f9bd0a32 Polish
Closes gh-12450
2018-03-13 08:37:50 +01:00
Madhura Bhave
89e42d40c5 Provide security matchers for actuator links
Fixes gh-12353
2018-03-07 19:02:35 -08:00
Andy Wilkinson
317b51f2ad Make ApplicationContextRequestMatcher and subclasses thread-safe
Previously, when performing lazy initialisation of the context,
ApplicationContextRequestMatcher assigned the context field before it
called initialized. The context being non-null is used as the signal
that it’s ok to call a subclass’s matches method. If one thread checks
for a non-null context in between the field being assigned and
initialized being called on another thread, matches will be called
before the subclass is ready.

This commit closes the window for the race condition by only assigning
the context field once the subclass’s initialized method has been
called.

There is a secondary problem in each of the subclasses. Due to the use
of double-checked locking in ApplicationContextRequestMatcher, it’s
possible for a subclass’s matches method to be called by a thread that
has not synchronised on the context lock that’s held when initialized
is called and the delegate field is assigned. This means that the
value assigned to the field may not be visible to that thread.

This commit declares the delegate field of each
ApplicationContextRequestMatcher subclass as volatile to ensure that,
following initialisation, its value is guaranteed to be visible to
all threads.

Closes gh-12380
2018-03-07 11:37:01 +00:00
Madhura Bhave
e6eca04af2 Make EndpointRequestMatcher#excluding public
Fixes gh-12354
2018-03-05 16:07:46 -08:00
Johnny Lim
751c444166 Polish
See gh-12326
2018-03-03 12:25:41 +01:00
Madhura Bhave
1c27a8e6e2 Move tests to ApplicationContextRunner 2018-03-02 18:30:55 -08:00
Andy Wilkinson
01304959fa Polish "Remove redundant auto-configuration of SI Micrometer metrics"
Closes gh-12287
2018-02-28 17:45:32 +00:00
Gary Russell
ddd820af9a Remove redundant auto-configuration of SI Micrometer metrics
Spring Integration no longer requires a `MicrometerMetricsFactory` to
support Micrometer metrics so there's nothing for Boot to
auto-configure.

See gh-12287
2018-02-28 17:33:05 +00:00
Andy Wilkinson
c4c50b7c49 Only auto-configure LogbackMetrics when Logback is actually being used
Closes gh-12286
2018-02-28 17:20:04 +00:00
Phillip Webb
7f8bb4e8eb Allow EndpointRequest matching without path bean
Update `EndpointRequest` to that the `PathMappedEndpoints` bean is
optional. A missing bean is treated as if there are no path mapped
endpoints.

Fixes gh-12238
2018-02-27 21:05:35 -08:00
Phillip Webb
d66496787d Propagate exceptions in security matchers
Update `ApplicationContextRequestMatcher` and
`ApplicationContextServerWebExchangeMatcher` to use a supplier for
the context, rather than the context itself.

This allow exceptions to be propagated to subclasses which may choose
to deal with them.

See gh-12238
2018-02-27 16:29:14 -08:00
Phillip Webb
802cd856aa Remove test-autoconfigure dependency
Update `spring-boot-actuator-autoconfigure` so that it no longer has
a dependency on `spring-boot-test-autoconfigure`. This will allow us to
add test support for actuator concerns in the future if we need to.

Fixed gh-12270
2018-02-27 16:29:03 -08:00
Andy Wilkinson
dc36360155 Polish 2018-02-27 21:25:48 +00:00
Phillip Webb
3e4da3cc37 Polish 2018-02-27 12:53:01 -08:00
Andy Wilkinson
476b7087a7 Upgrade to Hikaricp 2.7.8
Closes gh-12252
2018-02-27 17:43:36 +00:00
Stephane Nicoll
0b46408846 Polish 2018-02-27 16:47:34 +01:00
Stephane Nicoll
b0f381bb6f Review conditions of ElasticsearchHealthIndicatorAutoConfiguration
Closes gh-12249
2018-02-27 16:37:59 +01:00
Phillip Webb
29c3be3590 Polish 2018-02-26 10:26:02 -08:00
Stephane Nicoll
306c79f0de Merge branch '1.5.x' 2018-02-26 18:03:32 +01:00
Stephane Nicoll
cd522dadcd Revert "Add Kafka health indicator"
Closes gh-12225
2018-02-26 15:46:35 +01:00
igor-suhorukov
98f4692c62 Polish
This commit changes invocations to immediately return the expression
instead of assigning it to a temporary variable. The method name should
be sufficient for callers to know exactly what will be returned.

Closes gh-12211
2018-02-25 10:59:02 +01:00
Stephane Nicoll
cb1eed42b8 Polish 2018-02-23 13:57:19 +01:00
Stephane Nicoll
e1fd9df7b9 Fix usage of management.server.add-application-context-header
Closes gh-12190
2018-02-23 13:57:02 +01:00
Stephane Nicoll
09ff815f00 Harmonize metadata
Closes gh-12177
2018-02-23 11:02:28 +01: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
Phillip Webb
cd5266ac03 Polish 2018-02-22 20:25:28 -08:00
Johnny Lim
2fe86da95b Use isTrue() and isFalse() for AssertJ
Closes gh-12170
2018-02-22 09:55:40 +01:00
Johnny Lim
50c07d0772 Polish
Closes gh-12156
2018-02-21 17:46:57 +01:00
Andy Wilkinson
e7176c63f5 Stop DataSource initialization from preventing Hikari instrumentation
Closes gh-12129
2018-02-21 10:32:41 +00:00
Stephane Nicoll
e7db69be7a Polish
See gh-11869
2018-02-21 07:39:40 +01: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
05faac2b09 Polish 2018-02-20 15:53:25 -08: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
20f104766b Add missing default values for enums 2018-02-20 17:33:32 +01:00
Stephane Nicoll
45476961c1 Polish
See gh-12129
2018-02-20 17:02:03 +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
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
f19b43bacc Polish "Consistent prefix for datasource pool metrics"
Closes gh-12127
2018-02-20 10:07:00 +01:00