Commit Graph

813 Commits (4ad837f5dcb786c46c3c7a2673feba50c40ed478)

Author SHA1 Message Date
Madhura Bhave 3d0219c315 Merge branch '2.1.x' 6 years ago
Johnny Lim c5b5f752ed Polish
Closes gh-16219
6 years ago
Stephane Nicoll c115ee1550 Fix build failure 6 years ago
Stephane Nicoll 0e0ea7f00a Fix checkstyle violation 6 years ago
Stephane Nicoll fcdc414646 Remove use of `@Autowired` for configuration properties bean
See gh-8762
6 years ago
Madhura Bhave 223f2be7d2 Inject InfoContributors instead of exposing them on InfoEndpoint
Closes gh-13586
6 years ago
Stephane Nicoll 81def1f21d Polish 6 years ago
Madhura Bhave e8cb75bba8 Enable git remote linking automatically on CF
Closes gh-13586
6 years ago
Andy Wilkinson 68bfb020aa Reduce need for bean method proxying and disable where not needed
Closes gh-9068
6 years ago
Andy Wilkinson 4b98fa7d94 Alias proxyBeanMethods on annotations meta-annotated with @Configuration
Closes gh-16201
6 years ago
Phillip Webb 64a2e8d67f Update copyright year for changed files 6 years ago
Phillip Webb dd3e8154d9 Merge branch '2.1.x' 6 years ago
Phillip Webb fc3aa43cc2 Update copyright year for changed files 6 years ago
Phillip Webb f02887b6c6 Merge branch '2.0.x' into 2.1.x 6 years ago
Phillip Webb 9c3af103e0 Fix ScheduledTasksEndpointAutoConfigurationTests
Update the `CustomEndpointConfiguration` class in
`ScheduledTasksEndpointAutoConfigurationTests` to be package private
so that it can be enhanced by cglib.

Prior to merge commit 361437f4 the class was a lite configuration so
it didn't matter that it was a private class.
6 years ago
Andy Wilkinson aa2008bc5a Merge branch '2.1.x' 6 years ago
Andy Wilkinson 8c3cec8f13 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 361437f4e2 Merge branch '1.5.x' into 2.0.x 6 years ago
Stephane Nicoll 430571b37b Perform binding at creation time if possible
Previously, environment binding always happened in a post processor once
the bean has been created. Constructor binding requires to perform the
binding at creating time so this commit performs binding at creation
time if possible.

When this happens, a special `ConfigurationPropertiesBeanDefinition` is
created with a supplier that invokes the binder. To avoid a case where
a bean is processed twice, the post-processor now ignores any bean that
has already been bound to the environment.

Closes gh-8762

Co-authored-by: Madhura Bhave <mbhave@pivotal.io>
6 years ago
Brian Clozel 8325fce53e Fix formatting 6 years ago
Brian Clozel 6586bae889 Guard Endpoint bean declarations with ConditionalOnExposedEndpoint
This commit adds the newly introduced `@ConditionalOnExposedEndpoint`
conditional annotation to all auto-configured `Endpoint` in Actuator.

With that change, `EndPoint` instances and related infrastructure will
only be created when they are meant to be exposed and used. This will
save CPU and memory resources when Actuator is present.

Closes gh-16093
6 years ago
Brian Clozel 4ffbe6c9e8 Add @ConditionalOnExposedEndpoint condition
Prior to this commit, Actuator `Endpoint` instantiations would be
guarded by `@ConditionalOnEnabledEnpoint` condition annotations. This
feature saves resources as disabled endpoints aren't unnecessarily
instantiated.

By default, only `"health"` and `"info"` endpoints are exposed over the
web and all endpoints are exposed over JMX.

As of gh-16090, JMX is now disabled by default. This is an opportunity
to avoid instantiating endpoints if they won't be exposed at all, which
is more likely due to the exposure defaults.

This commit adds a new `@ConditionalOnExposedEndpoint` conditional
annotation that checks the `Environment` for configuration properties
under `"management.endpoints.web.exposure.*"` and
`"management.endpoints.jmx.exposure.*"`. In the case of JMX, an
additional check is perfomed, checking that JMX is enabled first.
The rules implemented in the condition itself are following the ones
described in `ExposeExcludePropertyEndpointFilter`.

See gh-16093
6 years ago
Andy Wilkinson 0959698c32 Upgrade to Jersey 2.28
Closes gh-16114
6 years ago
Andy Wilkinson d6a869fa98 Switch to Jakarta EE API dependencies where possible
Closes gh-16113
Closes gh-16112
Closes gh-16111
Closes gh-15916
Closes gh-15689
6 years ago
Brian Clozel ce9626d00f Disable JMX by default
This commit switches the default value for the `spring.jmx.enabled`
configuration property.
JMX is now disabled by default and can be enabled with
`spring.jmx.enabled=true`.

Closes gh-16090
6 years ago
Stephane Nicoll 715db153e3 Polish "Remove code deprecated in 2.1"
Closes gh-16013
6 years ago
Stephane Nicoll 7b0004d6c3 Fix formatting 6 years ago
Andy Wilkinson f2e3e274a8 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 53326695ea Polish 6 years ago
Madhura Bhave 6f045d8891 Merge branch '2.1.x' 6 years ago
Madhura Bhave c3e47541ad EndpointRequest should check that the request is to the mgmt context
Fixes gh-15702
6 years ago
Andy Wilkinson de0c065625 Inject single-use configuration dependencies into bean methods
Closes gh-15751
6 years ago
Andy Wilkinson e6764bdc5a Merge branch '2.1.x' 6 years ago
Andy Wilkinson 55426208ab Provide type information for optional thread dump endpoint response fields
Closes gh-15989
6 years ago
Madhura Bhave 862ffcbbf4 Merge branch '2.1.x' 6 years ago
Madhura Bhave bbe555a4f5 Split Jersey management context configuration
This commit splits the management context configuration for jersey
into two separate configurations depending on if the type is SAME or
CHILD. The configuration for the SAME context should only kick in if
there is no existing ResourceConfig bean.

Fixes gh-15891
6 years ago
Andy Wilkinson 22192c2b5c Polish "Make auto-config of RestTemplate metrics back off with no builder bean"
Closes gh-15842
6 years ago
Raheela 8f3c4dbc64 Make auto-config of RestTemplate metrics back off with no builder bean
See gh-15842
6 years ago
Madhura Bhave 4d69e127c8 Merge branch '2.1.x' 6 years ago
Madhura Bhave 26da45aa9a Configure a JerseyApplicationPath bean for the actuators
This commit also ensures that Jersey-based actuator endpoints are
available before the user has configured a `ResourceConfig` bean

Fixes gh-15625
Fixes gh-15877
6 years ago
Stephane Nicoll 380d7ec01c Merge branch '2.1.x' 6 years ago
Johnny Lim 885c28891b Polish
Closes gh-15873
6 years ago
Andy Wilkinson ecb7e240eb Merge branch '2.1.x' 6 years ago
Andy Wilkinson 59c66eaf41 Correct documented path for locked synchronizer's identity hashcode
Closes gh-15847
6 years ago
Andy Wilkinson ebcc53a9b7 Include tasks with custom triggers in scheduledtasks endpoint output
Closes gh-15815
6 years ago
Stephane Nicoll 002fa405a8 Merge branch '2.1.x' 6 years ago
Stephane Nicoll ede23caace Polish "Inject Map directly rather than via ObjectProvider"
Closes gh-15798
6 years ago
ayudovin 3a2e85ce75 Inject Map directly rather than via ObjectProvider
See gh-15798
6 years ago
Andy Wilkinson f23a0a5969 Inject InfoContributorProperties more precisely
Closes gh-15750
6 years ago
Stephane Nicoll 6baa6b291e Polish contribution
Closes gh-15695
6 years ago
Johnny Lim af3ed9ff9f Polish
See gh-15695
6 years ago
Phillip Webb 2f77ef7722 Merge branch '2.1.x' 6 years ago
Phillip Webb 9e58942698 Update copyright year for changed files 6 years ago
Phillip Webb 6a901199f5 Polish 6 years ago
Stephane Nicoll 5e736c0d1f Merge branch '2.1.x' 6 years ago
Stephane Nicoll 6ad01a6dfc Optimize ConditionalOnEnabledEndpoint usage
Closes gh-15451
6 years ago
Stephane Nicoll 2d2aa96c05 Allow ConditionalOnEnabledEndpoint to be set at class level
See gh-15451
6 years ago
Madhura Bhave 2dc7a89bd4 Merge branch '2.1.x' 6 years ago
Madhura Bhave 5b990605dc Polish "Order actuator security config after resource-server config"
Closes gh-15472
6 years ago
Stephen Doxsee 4597e7cc82 Order actuator security config after resource-server config
See gh-15472
6 years ago
Stephane Nicoll d57f831f50 Polish "Use Optional value in more functional style"
Closes gh-15575
6 years ago
igor-suhorukov 8ced867e95 Use Optional value in more functional style
See gh-15575
6 years ago
Stephane Nicoll fd12e696b0 Polish "Replace redundant call to class isInstance() with instanceof"
Closes gh-15554
6 years ago
igor-suhorukov 7424f48803 Replace redundant call to class isInstance() with instanceof
See gh-15554
6 years ago
Stephane Nicoll 9d67400afa Merge branch '2.1.x' 6 years ago
igor-suhorukov e578d30722 Replace anonymous inner class with lambda
See gh-15438
6 years ago
Andy Wilkinson 3a7406fe3a Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 0741c90489 Avoid blocking on a Mono indefinitely
Closes gh-15535
6 years ago
Andy Wilkinson 9d2d6d5812 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 9a33d1a2f9 Merge branch '2.0.x' into 2.1.x 6 years ago
Andy Wilkinson 8c68da0882 Avoid blocking on a Mono indefinitely
Closes gh-15535
6 years ago
Andy Wilkinson de599819ae Merge branch '2.1.x' 6 years ago
Andy Wilkinson 33fb1fa9a3 Avoid creating meter binders before registry has been customized
Previously, MeterRegistryPostProcessor would trigger the creation of all
meter binders and meter registry customizers before applying the
customizers and calling the binders. In some situations with complex
dependency graphs where the creation of a binder and the injection of
its dependencies inadvertently triggered some meter binding, this
could result in meters being bound before the registry had been
customized.

This commit reworks MeterRegistryPostProcessor and MeterRegistryConfigurer
to defer the retrieval of registry customizers and meter binders until
just before they are needed. As a result, customizers are now retrieved
and applied before the binders are retrieved.

Closes gh-15483
6 years ago
Andy Wilkinson 064f6478df Move back to JUnit 4 until SUREFIRE-1614 has been resolved
See gh-14736
See gh-14737
See gh-14738
6 years ago
Andy Wilkinson 2b453bbb16 Minimise dependencies on Log4j2
Closes gh-15441
6 years ago
Andy Wilkinson 71b29684b3 Remove redundant field type configuration
See gh-15435
6 years ago
Andy Wilkinson 55d7c19c06 Merge branch '2.1.x' 6 years ago
Andy Wilkinson d05ae40c99 Remove redundant field type and optional configuration
See gh-15435
6 years ago
Andy Wilkinson 393decff35 Merge branch '2.1.x' 6 years ago
Andy Wilkinson ef4ea591b3 Mark nested optional fields as optional
See gh-15435
6 years ago
igor-suhorukov 2b1653d009 Simplify code by using try-with-resources statement
Closes gh-15427
6 years ago
igor-suhorukov 5c1813aef8 Replace this lambda with a method reference
See gh-15401
6 years ago
Madhura Bhave 59d2b0a3fb Upgrade tests to Junit5
See gh-14737
6 years ago
Andy Wilkinson 5c986b5030 Merge branch '2.1.x' 6 years ago
Andy Wilkinson 42b58f6d27 Add JAXB API dependency that is no longer transitive via testcontainers
See gh-15371
6 years ago
Andy Wilkinson 0f474ec08f Merge branch '2.1.x' 6 years ago
Andy Wilkinson 07065532fe Replace accidental use of code shaded by Testcontainers
See gh-15371
6 years ago
dreis2211 f57f16c190 Avoid premature declaration of variables
Closes gh-15215
6 years ago
Stephane Nicoll 7939b8b4da Polish "Rename logging.file to logging.file.name"
Closes gh-15089
6 years ago
TwinProduction 21da4a5d12 Rename logging.file to logging.file.name
See gh-15089
6 years ago
Phillip Webb ba1ef52e39 Merge branch '2.0.x' 6 years ago
Phillip Webb 74376aa023 Polish 6 years ago
Madhura Bhave 427d494d57 Merge branch '2.0.x' 6 years ago
Madhura Bhave 02a1c43587 Fix tests 6 years ago
Madhura Bhave fc6c07ad3c Merge branch '2.0.x' 6 years ago
Madhura Bhave decaacddce Account for application path for Jersey servlet endpoints
Closes gh-14895
6 years ago
Brian Clozel d12e42e8d5 Polish
Closes gh-15211
6 years ago
artsiom 0a4ba499df Add Actuator health checks for Elasticsearch REST clients
This commit adds `ElasticsearchRestHealthIndicator`, a new
`HealthIndicator` for Elasticsearch, using the Elasticsearch "low level
rest client" provided by the
`"org.elasticsearch.client:elasticsearch-rest-client"` dependency.

Note that Spring Boot will auto-configure both low and high level REST
clients, but since the high level one is using the former, a single
health indicator will cover both cases.

See gh-15211
6 years ago
Stephane Nicoll 114347107e Polish key description 6 years ago
Alon Bar-Lev 108f28417e Allow to disable SSL client authentication on the management port
When server and management are at different ports, and when server
requires TLS client authentication, then there is no simple method to
disable TLS client authentication for management port.

This commit adds an additional "none" option to ssl.client-auth.

Example:

    server.port=8080
    server.ssl.enabled=true
    server.ssl.client-auth=need
    management.server.port=8081
    management.server.ssl.enabled=true
    management.server.ssl.client-auth=none

See gh-14985
6 years ago