Commit Graph

1023 Commits

Author SHA1 Message Date
Stephane Nicoll
f699bd2435 Fix build
`@ManagedResource` annotated bean must be public.
2016-03-17 11:50:48 +01:00
Stephane Nicoll
2526a54e31 Polish contribution
Closes gh-5337
2016-03-14 14:24:24 +01:00
Anand Shah
f6a32a1d5a Add @LocalServerPort
Closes gh-5262
2016-03-14 14:24:24 +01:00
Stephane Nicoll
dddea70985 Collect and display build information
This commit updates the Maven plugin to generate a
`META-INF/boot/build.properties` file with various build-specific
settings (group, artifact, name, version and build time). Additionally,
the plugin can be configured to write an arbitrary number of additional
properties.

A new `BuildProperties` bean is automatically exposed when such a file is
present. If that bean is present, an `InfoContributor` is automatically
created to expose that information under the `build` key.

As for the git contributor, it is possible to only display the core
settings or everything using the `management.info.build.mode` property.

See gh-2559
2016-03-10 17:21:31 +01:00
Stephane Nicoll
3e6b584953 Add Date as a support property type
Rather than exposing a raw String with the epoch time, GitProperties
now exposes the actual `java.util.Date`. `InfoProperties` has been
improved to return such data type when the raw value is an epoch time.
2016-03-10 14:42:48 +01:00
Stephane Nicoll
b906b18655 Initiate GitProperties
This commit polish the new info contributor infrastructure by migrating
`GitInfo` to `GitProperties`. `InfoProperties` provides an abstraction
that exposes unstructured data in an immutable way.

The `GitInfoContributor` now accepts a "mode" that determines if all data
should be exposed or only a sub-set of known keys.

Closes gh-2644
2016-03-09 16:37:44 +01:00
Phillip Webb
a3f3de223f Polish 2016-03-08 11:20:41 -08:00
Johnny Lim
122270c990 Polish
Closes gh-5345
2016-03-06 09:21:00 +01:00
Stephane Nicoll
830c4c996f Update computation of ehcache statistics
Previously, the ehcache statistics were computed on the activity of the
last minute which gives a "live" overview. All others cache managers,
including JCache, provides a "cumulative" metrics (i.e. the hit/miss
ratio since the creation of the cache or the last time it got cleared).

Ths commit aligns the ehcache statistics to provide a similar semantics
as the other cache managers. The side effect is that the metrics are now
available, even if there is no cache activity at all at the moment.

Closes gh-4891
2016-03-05 09:21:11 +01:00
Andy Wilkinson
5009933788 Move to constructor injection in simple configuration classes
This commit updates "simple" configuration classes to use constructor
injection. Simple means that there are no optional dependencies
(@Autowired(required=false) is not used), and none of the dependencies
use generics.

Configuration classes that are not simple will be updated in a second
pass once https://jira.spring.io/browse/SPR-14015 has been fixed.

See gh-5306
2016-03-04 12:27:29 +00:00
Stephane Nicoll
aba9389b25 Polish contribution
Closes gh-5328
2016-03-04 09:07:22 +01:00
Anand Shah
395c36a132 Rename HealthIndicatorAutoConfigurationProperties
Closes gh-5326
2016-03-04 09:02:56 +01:00
Phillip Webb
73cbb2f40a Polish 2016-03-03 09:14:24 -08:00
Stephane Nicoll
0490fbc7f8 Polish contribution
`InfoProvider` is now `InfoContributor` and contributes to the `Info`
instance via a builder. The `Info` instance is immutable. Each
contributor can be disabled via the `management.info.<name>.enabled`
key or all can be disabled using `management.info.defaults.enabled` (this
is similar to what the health endpoint does).

By default, all keys from the environment starting with `info.` are
exposed. If a `git.properties` file is present in the classpath, the
content of `GitInfo` is exposed using the `git` key.

A `SimpleInfoContributor` and `AbstractEnvironmentInfoContributor` are
available for convenience. `InfoContributor` instances can be ordered
the usual way, with a default order provided by
`InfoProviderAutoConfiguration#DEFAULT_ORDER`.

Closes gh-3492
2016-03-03 16:23:37 +01:00
Stephane Nicoll
7618802838 rebase to master 2016-03-03 14:40:21 +01:00
Meang Akira Tanaka
8bebe6dea9 Info endpoint
See gh-3492
2016-03-03 14:39:55 +01:00
Stephane Nicoll
0f820afa86 Auto-configure GitInfo
This commit moves `GitInfo` to a general "project info" area that will be
further improved with others project related information.

Deprecate `spring.git.properties` in favour of `spring.info.git.location`

Closes gh-2484
2016-03-03 14:31:00 +01:00
Stephane Nicoll
7029ba521d Remove management.dump_requests property
Closes gh-4283
2016-03-02 17:44:25 +01:00
Andy Wilkinson
ef5087c5ee Upgrade to Jackson 2.7.2
Closes gh-5081
2016-03-02 07:25:55 +00:00
Andy Wilkinson
355860fd09 Remove @Autowired from constructors where class has single constructor
Closes gh-5226
2016-03-01 16:03:07 +00:00
Stephane Nicoll
6741f05af1 Polish contribution
Closes gh-4903
2016-02-29 14:07:01 +01:00
Eddú Meléndez
98cc68364a Add Caffeine cache support
See gh-4899
2016-02-29 14:07:01 +01:00
Andy Wilkinson
ccf7de904c Upgrade to Infinispan 8.1.2.Final
Closes gh-5245
2016-02-25 20:55:47 +00:00
Andy Wilkinson
fcb5f03146 Upgrade to Hazelcast 3.6
Closes gh-5237
2016-02-25 20:15:02 +00:00
Andy Wilkinson
56487d23d6 Merge branch '1.3.x' 2016-02-25 20:00:34 +00:00
Vedran Pavic
6801e8208d Fix namespace declarations in Hazelcast xml's and make them consistent 2016-02-25 19:59:28 +00:00
Andy Wilkinson
44ddfcc7fa Upgrade copyright headers of all files changed in 2016 2016-02-25 12:09:42 +00:00
Andy Wilkinson
d3fc0a4733 Placate javac and its inferior type inferencing
The Eclipse compiler is perfectly happy with the original code, but
javac is not. This commit adds some explicit typing to keep javac
happy.
2016-02-24 13:24:36 +00:00
Andy Wilkinson
ef44d660bb Merge branch '1.3.x' 2016-02-24 12:55:03 +00:00
Andy Wilkinson
ce71bd997c Remove redundant public modifier 2016-02-24 12:51:33 +00:00
Andy Wilkinson
8f1f12be6a Fix Checkstyle warning introduced in forward merge (852ba546) 2016-02-24 12:37:06 +00:00
Andy Wilkinson
bee651fc17 Merge branch '1.3.x' 2016-02-24 12:37:00 +00:00
Andy Wilkinson
13971692dc Docs and actuator endpoints can be enabled when endpoints.enabled=false
Previously, if endpoints.enabled was false setting
endpoints.docs.enabled=true or endpoints.actuator.enabled=true would
have no effect as their entire configuration class was conditional
on endpoints.enabled being true.

This commit updates the conditions on the configuration class so that
it is conditional on either the actuator or docs endpoint being enabled.

Closes gh-5007
2016-02-24 12:32:09 +00:00
Andy Wilkinson
852ba54613 Merge branch '1.3.x' 2016-02-24 12:09:07 +00:00
Matt Benson
2a9e6c40ed Fix logic for disabling plugins in CrshAutoConfiguration
Plugin disabling logic was broken by e009d3e4. Prior to this change,
a plugin would be disabled if it or any of the implemented interfaces
in its inheritance hierarchy were configured as being disabled. The
offending commit inverted the logic so that the plugin would be
enabled if any part of it was NOT configured as being disabled.

This commit restores the logic such that the early return happens only
in the negative case.

Previously, the tests were written as though
PluginContext#getPlugin(Class) would consider the specified class
against the runtime type of the plugin (not an unreasonable
assumption); rather this method considers the broader 'plugin type'.
This commit rewrites the test to seek by plugin type and assert the
absence of the disabled plugins.

Closes gh-5032
2016-02-24 11:56:15 +00:00
Andy Wilkinson
a3afc859bd Merge branch '1.3.x' 2016-02-23 17:45:28 +00:00
Andy Wilkinson
617c97322d Allow endpoint paths to be configured via endpoint.<name>.path
Support for configuring an endpoint’s path separately from its id was
introduced in 97255785, but it didn’t work for a variety of reasons:

 1. Some custom MVC endpoints did not have configuration properties
    bound to them
 2. Some generic endpoints rejected the path property as they were
    configured not to ignore unknown fields
 3. The property used to configure the path was dependent on the id
    of the endpoint. This meant that the path property’s name would
    change if the endpoint’s id was changed

This commit addresses these problems:

 1. @ConfigurationProperties has been added to custom MvcEndpoints where
    it was missing
 2. Generic endpoints have been updated to ignore unknown fields,
    allowing the path of their MVC adapter to be configured
 3. Rather than using the id of a generic endpoint to determine the name
    of its path property, the prefix or value of the endpoint’s
    @ConfigurationProperties annotation is used instead. Any generic
    endpoint that is not annotated with @ConfigurationProperties is
    ignored, making its path unconfigurable.

Closes gh-5105
2016-02-23 17:06:51 +00:00
Phillip Webb
566008336c Polish 2016-02-22 10:27:10 -08:00
Andy Wilkinson
f46862d186 Merge branch '1.3.x' 2016-02-22 17:29:53 +00:00
Andy Wilkinson
f94e8bd287 Do not try to auto-configure Jolokia if Spring MVC is not on classpath
The Jolokia auto-configuration requires ServletWrappingController from
Spring MVC to be on the classpath. This commit updates the
auto-configuration to make it conditional on the presence of this
class.

Closes gh-5153
2016-02-22 17:29:37 +00:00
Dave Syer
f2c34612f6 Fix javadocs on ManagementServerProperties 2016-02-20 16:38:25 +00:00
Phillip Webb
602a09332d Switch disallowedMethods test to use PATCH
Update the requestsWithDisallowedMethodsAreRejected test to use PATCH
rather than HEAD. The change is to allow support for Spring Framework
4.3 which will implicitly map HEAD requests to GET.

Pre-flight requests are also only for "non-simple" HTTP methods [1]
(i.e. anything but GET, HEAD, POST) so there is really no such a thing
as a pre-flight request for HEAD.

[1] https://www.w3.org/TR/cors/#resource-preflight-requests
2016-02-19 22:16:06 -08:00
Phillip Webb
89b7704977 Extract spring-boot-test.jar
Relocate the `org.springframework.boot.test` package from the
`spring-boot.jar` to `spring-boot-test.jar`.

Fixes gh-5184
2016-02-19 19:28:37 -08:00
Phillip Webb
4b55144d80 Polish 2016-02-19 16:19:22 -08:00
Phillip Webb
a9afe0a944 Formatting 2016-02-19 16:07:10 -08:00
Andy Wilkinson
d6e0b5a165 Use @DirtiesContext to avoid unwanted context caching in the tests
We rarely use the same configuration in multiple test classes, but
Spring’s Test framework caches each context by default. For projects
with large numbers of integration tests, this can lead to tens of
contexts being cached. This increases memory usage, live thread count,
etc for no benefit.

This commit adds @DirtiesContext to the integration tests in
spring-boot, spring-boot-autoconfigure, and spring-boot-actuator so
that the context is closed once the test class has completed.

See gh-5141
2016-02-19 11:20:22 +00:00
Stephane Nicoll
da3b49e024 Polish contribution
Closes gh-3499
2016-02-16 09:31:50 +01:00
Eddú Meléndez
76f1ca4188 Add Couchbase support
Closes gh-3498
2016-02-16 09:31:50 +01:00
Stephane Nicoll
b205e02e33 Upgrade to Spring Data Hopper M1
Closes gh-5120
2016-02-15 14:57:08 +01:00
Andy Wilkinson
11c9068d53 Merge branch '1.3.x' 2016-02-12 10:31:02 +00:00