Commit Graph

1358 Commits

Author SHA1 Message Date
Stephane Nicoll 3d1f8aa8d7 Merge branch '1.4.x' into 1.5.x 2017-02-05 09:25:48 +01:00
Stephane Nicoll a30461c5c7 Polish pid metadata
This commit moves the `spring.pid.*` metadata to the relevant project. It
also updates the doc to refer to the new `ApplicationPidFileWriter`
rather than the one in its deprecatred form.

Closes gh-8196
2017-02-05 09:23:56 +01:00
Phillip Webb 21234b36de Ensure `JmxEndpoint` beans get context object IDs
Update `EndpointMBeanExporter` to ensure that `JmxEndpoint` as well
as regular `Endpoint` beans are considered when searching the parent
context.

Prior to this commit if the same `JmxEndpoint` was registered in the
both the child and parent context then the `context=` element of the
name wasn't added.

Fixes gh-8152
2017-01-31 13:25:59 -08:00
Spring Buildmaster 5c12500366 Next Development Version 2017-01-30 20:10:13 +00:00
Spring Buildmaster a2696bf873 Next Development Version 2017-01-30 11:40:24 +00:00
Andy Wilkinson 180ab2da8b Merge branch '1.4.x' into 1.5.x 2017-01-26 20:30:20 +00:00
Andy Wilkinson f3b9b14b8e Order ManagementContextConfiguration classes without loading them
Previously, ManagementContextConfiguration classes were loaded to
allow them to be ordered based on either @Order or implementing
Ordered. This had the unwanted side-effect of possibly logging
unwanted INFO messages if the reflection-based annotation
introspection failed. One cause of this was @ConditionalOnClass when
the referenced class was not on the classpath.

This commit uses the ASM-based annotation metadata reading to
determine the order of a management context configuration class based
on the @Order annotation. The classes are then sorted using a standard
OrderComparator. Note that Ordering via implemented Ordered is not
supported as it cannot be determine without loading the class.
2017-01-26 20:25:23 +00:00
Spring Buildmaster ed1ce140c0 Next Development Version 2017-01-26 14:20:39 +00:00
Stephane Nicoll b575be339e Fix endpoint id
See gh-7579
2017-01-26 14:00:48 +01:00
Andy Wilkinson f823599d1f Replace @PostConstruct validation with setter validation
Closes gh-7579
2017-01-26 09:32:07 +00:00
dreis d58f38f6f6 Use String.replace() with single char if possible
See gh-8089
2017-01-25 11:01:52 +01:00
Stephane Nicoll 551bfb2c60 Polish contribution
Closes gh-8103
2017-01-25 11:01:52 +01:00
Johnny Lim 32f9e90de5 Replace 'String.length() == 0' with 'String.isEmpty()'
See gh-8103
2017-01-25 11:01:52 +01:00
Dave Syer 98a4c72c50 Clarify PublicMetrics (uniqueness of metric names)
See gh-6404
2017-01-25 09:43:20 +00:00
Johnny Lim e0de28a1f7 Polish
Closes gh-8076
2017-01-24 13:22:22 +01:00
Madhura Bhave ca435512c0 Introduce spring-boot-autoconfigure-processor
Add an annotation processor that generates properties files for certain
auto-configuration class annotations. Currently attribute values from
@AutoConfigureOrder, @AutoConfigureBefore, @AutoConfigureAfter and
@ConditionalOnClass annotations are stored.

The properties file will allow optimizations to be added in the
`spring-boot-autoconfigure` project. Primarily by removing the need
to ASM parse as many `.class` files.

See gh-7573
2017-01-23 22:14:56 -08:00
Phillip Webb 2c89d9918f Relocate AutoConfigurations from root package
Move PropertyPlaceholder and MessageSource auto-configuration from the
root package to the `context` subpackage.

Fixes gh-8071
2017-01-23 17:32:45 -08:00
Phillip Webb 5703fb1515 Polish 2017-01-23 16:03:59 -08:00
Andy Wilkinson b900a3efc8 Update Actuator endpoints to use custom media type
Previously, the actuator's endpoints produced application/json and,
where appropriate, also consumed application/json. Without a custom,
versioned media type, it's impossible for us to make changes to the
endpoints without breaking clients.

This commit introduces a new media type,
application/spring-boot.actuator.v1+json, that is now produced by
default with application/json also being produced if requested.
Endpoints that consume JSON will now also accept content the uses
the new media type in addition to application/json.

Closes gh-7967
2017-01-20 15:31:22 +00:00
Phillip Webb f3cd0ad22c Polish 2017-01-19 12:44:57 -08:00
Madhura Bhave e73c6bb2e2 Exclude authorization header from trace by default
Closes gh-7974
2017-01-19 12:12:09 -08:00
Andy Wilkinson 3e88c366ec Polish "Avoid property name collisions when serializing AuditEvent to JSON"
See gh-7990
2017-01-19 12:39:14 +00:00
Johannes Edmeier fcf36ed091 Avoid property name collisions when serializing AuditEvent to JSON
Previously, in case the data for the audit event contained an entry
with the key "type", the member `type` from the AuditEvent would be
overwritten when rendering to JSON due to the use of @JsonAnyGetter on
the data property.

This commit removes @JsonAnyGetter so that the data map is rendered as
a separate property in the JSON.

Closes gh-7990
2017-01-19 12:33:15 +00:00
Stephane Nicoll c41ff17dd7 Provide relevant default values for Enums
This commits adds manual metadata for enums that have a default value
since the annotation processor is not able to detect that yet.

Closes gh-7890
2017-01-19 13:19:13 +01:00
Phillip Webb f42ebe428c Remove JSR-330 configuration annotations
Replace JSR-330 validation annotations from all internal
`@ConfigurationProperties` classes with standard Asserts.

Prior to this commit validation of our own configuration properties
would only occur when the user happens to have compliant JSR-330
implementation on their classpath.

See gh-7579
2017-01-18 20:51:35 -08:00
Phillip Webb 0a6456a748 Always use `prefix` config annotation attribute
Update use of `@ConfigurationProperties` to prefer the more explicit
`prefix` attribute, rather than `value`.

See gh-7579
2017-01-18 20:49:53 -08:00
Phillip Webb 43d432a527 Polish 2017-01-18 20:35:41 -08:00
Andy Wilkinson 5c9aa41c07 Update InMemoryRichGaugeRepository to support increments
Closes gh-2902
2017-01-17 17:15:26 +00:00
Andy Wilkinson 7fa33cddd7 Merge branch '1.4.x' into 1.5.x 2017-01-17 15:00:01 +00:00
Andy Wilkinson a02c2d4155 Improve the documentation of Health.Status constants
Closes gh-7784
2017-01-17 14:59:53 +00:00
Johnny Lim acc36c076d Polish
See gh-8004
2017-01-17 09:53:50 +01:00
Andy Wilkinson f72799186e Merge branch '1.4.x' into 1.5.x 2017-01-16 11:47:52 +00:00
Andy Wilkinson a72365e1a2 Expose context hierarchy in beans endpoint
Previously, the beans endpoint would only expose the context that
contained the endpoint. This commit updates the endpoint so that
the context that contains the endpoint and all of its ancestors are
exposed.

In a context hierarhcy, the relation ship is child -> parent and there
is no way to navigate from a parent to a child. As a result, any
contexts that are descendants of the context containing the endpoint
are not exposed.

Closes gh-5188
2017-01-16 11:47:14 +00:00
Stephane Nicoll 8bef0a1e60 Polish contribution
Closes gh-7905
2017-01-16 11:24:36 +01:00
Eddú Meléndez b2250f4ad8 Add LDAP health actuator
Provide specific health actuator endpoint to verify if LDAP connection
is valid.

See gh-7905
2017-01-16 10:56:49 +01:00
Stephane Nicoll f21c767356 Polish contribution
Closes gh-7914
2017-01-15 09:45:32 +01:00
Kazuki Shimizu a6756c9ed3 Allow lowercase logger level on MVC endpoint
See gh-7914
2017-01-15 09:42:40 +01:00
Andy Wilkinson ae3434ba4c Merge branch '1.4.x' into 1.5.x 2017-01-13 18:45:50 -05:00
Andy Wilkinson d2201d5284 Correct copyright dates and enforce that starting year is 2012
Closes gh-7923
2017-01-13 18:43:30 -05:00
Phillip Webb 9159c87bf9 Polish 2017-01-10 09:51:11 -05:00
Stephane Nicoll fefc66625f Merge branch '1.4.x' into 1.5.x 2017-01-08 09:20:00 +01:00
Eddú Meléndez f896ff9a10 Fix incomplete assertions
Closes gh-7907
2017-01-08 09:12:54 +01:00
Madhura Bhave 4ea47220e9 Match nested paths for insensitive actuators
Update `ManagementWebSecurityAutoConfiguration` to match nested path
for insensitive actuators.

Prior to this commit, when Spring Security was on the classpath
nested paths were considered sensitive (even if the actuator
endpoint was not sensitive). i.e. when setting
`endpoints.env.sensitive=false` `/env` could be accessed without
authentication but `/env/user` could not.

Fixes gh-7868
Closes gh-7881
2017-01-05 18:45:30 -08:00
Johnny Lim f915ae197a Polish 2017-01-04 09:53:45 +01:00
Madhura Bhave 530c3cd3be Simplify HealthMvcEndpoint security
Expose full health details if management security is disabled or
management role is present.

Fixes gh-7604
Closes gh-7852
2017-01-03 19:00:14 -08:00
Phillip Webb 2fe4d60b47 Add `management.cloudfoundry.*` meta-data
Update configuration meta-data and appendix to include
`management.cloudfoundry.*` meta-data.

See gh-7108
2017-01-03 17:24:58 -08:00
Phillip Webb 8ccd4db513 Merge branch '1.4.x' into 1.5.x 2017-01-03 15:14:14 -08:00
Phillip Webb 732011987d Fix ManagementContextConfiguration @Order support
Update `ManagementContextConfigurationsImportSelector` to instantiate
classes so that order annotations are respected.

Fixes gh-7814
2017-01-03 15:12:35 -08:00
Phillip Webb b4b8370632 Fix AuditEventsJmxEndpoint bean name
See gh-6579
2017-01-03 14:43:24 -08:00
Phillip Webb 8a9a61b64f Prevent duplicate JmxEndpoint MBean registration
Update JmxEndpoint support so that the `@ManagedResource` annotation
is no longer required. This prevents both `EndpointMBeanExporter` and
the regular `AnnotationMBeanExporter` from both registering the bean.

Fixes gh-7813
See gh-6579
2017-01-03 14:43:24 -08:00