Commit Graph

411 Commits

Author SHA1 Message Date
Phillip Webb
88f8eb7fa4 Merge branch '1.1.x' 2014-09-17 10:46:30 -07:00
Phillip Webb
611f978181 Make all @Bean methods public
Fixes gh-1571
2014-09-17 10:45:23 -07:00
Phillip Webb
4f610fa5a1 Merge branch '1.1.x'
Conflicts:
	spring-boot-samples/spring-boot-sample-tomcat-ssl/pom.xml
	spring-boot-samples/spring-boot-sample-tomcat-ssl/src/test/java/sample/tomcat/SampleTomcatSslApplicationTests.java
	spring-boot/src/main/java/org/springframework/boot/context/embedded/ConfigurableEmbeddedServletContainer.java
	spring-boot/src/main/java/org/springframework/boot/context/embedded/Ssl.java
2014-09-17 10:11:30 -07:00
Phillip Webb
fae9ab4140 Fix failing tests 2014-09-17 10:08:05 -07:00
Dave Syer
049cd4b85b Merge branch '1.1.x' 2014-09-13 10:59:32 -05:00
Dave Syer
deef784403 Blitz some more special characters from the metric names
When MVC path matchers are used as metric keys, they can still contain
invalid characters and patterns (like asterisks). This change removes
some more special characters and also tidies up the names a bit so
no key part starts or ends with "-" (which is ugly).

Fixes gh-1528
2014-09-13 10:59:20 -05:00
Dave Syer
437fb75424 Add /error to ignored paths for security autoconfig
Protecting /error doesn't make a great deal of sense and if it is
protected you don't get the ErrorPageFilter for the attempt at loading
it, so Tomcat renders its own HTML error page (when deployed as WAR).

Fixes gh-1548
2014-09-13 10:55:39 -05:00
Dave Syer
f26209f248 Blitz some more special characters from the metric names
When MVC path matchers are used as metric keys, they can still contain
invalid characters and patterns (like asterisks). This change removes
some more special characters and also tidies up the names a bit so
no key part starts or ends with "-" (which is ugly).

Fixes gh-1528
2014-09-13 07:08:06 -05:00
Spring Buildmaster
d63e4b4329 Next development version 2014-09-04 12:15:18 -07:00
Phillip Webb
8bf1f9567a Apply eclipse formatting and cleanup rules 2014-09-04 09:49:13 -07:00
Phillip Webb
eaa3bd040d Apply eclipse formatting rules 2014-09-04 09:39:58 -07:00
Phillip Webb
57a154520e Drop min/max DataSourcePool metrics 2014-09-02 09:54:16 -07:00
Phillip Webb
c8809afe1b Polish 2014-09-01 13:11:37 -07:00
Phillip Webb
5001b038cb Expose additional pool metrics
Expose `max` and `min`, alongside the existing `active` and `usage`
metrics.
2014-09-01 12:38:31 -07:00
Phillip Webb
4c8d35db43 Rename CompositeDataSourcePoolMetadataProvider
Rename CompositeDataSourcePoolMetadataProvider to
DataSourcePoolMetadataProviders.
2014-09-01 12:38:30 -07:00
Phillip Webb
a512bcf766 Always auto-configure pool metadata providers
Import DataSourcePoolMetadataProvidersConfiguration from
DataSourceAutoConfiguration so that PoolMetadataProviders are configured
even if actuator is not used.
2014-09-01 12:38:26 -07:00
Phillip Webb
69107cb1df Create metadata sub-package
Create `org.springframework.boot.autoconfigure.jdbc.metadata` package
and move DataSourcePoolMetadata classes.
2014-09-01 12:29:04 -07:00
Phillip Webb
e56be6cf3d DataSourceMetadata -> DataSourcePoolMetadata
Rename DataSourceMetadata to DataSourcePoolMetadata
2014-09-01 12:29:01 -07:00
Phillip Webb
e17769fc2f Polish DataSourceMetrics code 2014-09-01 12:27:03 -07:00
Phillip Webb
169a46b1aa Rename MetricDataSourceAutoConfiguration
Rename MetricDataSourceAutoConfiguration to
DataSourceMetricsAutoConfiguration
2014-09-01 11:43:02 -07:00
Phillip Webb
adbded33ff Apply eclipse formatting rules to 3dc932db 2014-09-01 11:42:53 -07:00
Stephane Nicoll
53c4859a6a Reuse data source validation query in health endpoint
This commit improves DataSourceMetadata to expose the validation
query. This can be used by DataSourceHealthIndicator as the query
to use instead of "guessing" which query could be applied according
to the database type.

Fixes gh-1282
2014-08-29 14:58:01 +02:00
Stephane Nicoll
2694941b93 Fix DataSourceMetadata location
This commit complements 3dc932db8 and fix the package location of
DataSourceMetadata.

Fixes gh-1013
2014-08-29 14:35:20 +02:00
Stephane Nicoll
3dc932db88 DataSource metrics
This commit adds an abstraction that provides a standard manner to
retrieve various metadata that are shared by most data sources.

DataSourceMetadata is implemented by the three data source
implementations that boot supports out-of-the-box: Tomcat, Hikari and
Commons dbcp.

This abstraction is used to provide two additional metrics per data
source defined in the application: the number of allocated
connection(s) (.active) and the current usage of the connection pool
(.usage).

All such metrics share the 'datasource.' prefix. The prefix is further
qualified for each data source:

* If the data source is the primary data source (that is either the
  only available data source or the one flagged @Primary amongst the
  existing ones), the prefix is "datasource.primary"
* If the data source bean name ends with "dataSource", the prefix is
  the name of the bean without it (i.e. batchDataSource becomes batch)
* In all other cases, the name of the bean is used

It is possible to override part or all of those defaults by
registering a bean with a customized version of
DataSourcePublicMetrics.

Additional DataSourceMetadata implementations for other data source
types can be added very easily, check
DataourceMetadataProvidersConfiguration for more details.

Fixes gh-1013
2014-08-29 11:22:11 +02:00
Mattias Severson
04c3e9979f Fix typo
Fixes gh-1463
2014-08-28 11:13:33 -07:00
Mattias Severson
5dcc4c3829 Fix typo
Fixes gh-1463
2014-08-28 14:30:13 +02:00
Dave Syer
171b2e452b Make ServerProperties bean conditional on being a webapp 2014-08-20 09:09:19 +01:00
Phillip Webb
fc7823bc42 Merge branch '1.1.x' 2014-08-18 17:55:21 -07:00
Phillip Webb
5c34b07742 Fix DefaultCounterService.reset
Fix DefaultCounterService.reset to call the reset method of the
underlying MetricWriter.

Fixes gh-1391
2014-08-18 17:28:23 -07:00
Phillip Webb
83bd36d8e0 Merge branch '1.1.x'
Conflicts:
	spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/orm/jpa/JpaProperties.java
2014-08-18 13:02:44 -07:00
Phillip Webb
6e6bc25c44 Polish 2014-08-18 09:57:03 -07:00
Dave Syer
c556175381 Merge branch '1.1.x' 2014-08-13 08:15:59 -07:00
Dave Syer
2fae4afe95 Ensure status in ErrorPageFilter defaults to 200
Fixes gh-1369. Note that this is caused by the ErrorPageFilter, so
only a problem when deployed as a WAR.
2014-08-13 08:14:09 -07:00
Dave Syer
300910f7d5 Merge branch '1.1.x' 2014-08-11 17:43:14 -07:00
Dave Syer
0cf1c6f0e5 Refactor AuthenticationManagerConfiguration to make sure it works
if user also adds @EnableWebMvcSecurity. The problem is that the ordering
of the init() and configure() methods in the Spring Security configurers
can force things to happen too early unless we are careful. It's still a bit
twitchy I would say, but this relatively small change seems to fix the GS guide
and not break any existing tests.

I added a sample which mimic ths GS guide so we get an integration test that
executes the new code paths.

Fixes gh-1364
2014-08-11 17:42:30 -07:00
Phillip Webb
7d0a3ddcce Rename VanillaHealthIndicator to Application...
Rename `VanillaHealthIndicator` to `ApplicationHealthIndicator` and
changed the exposed bean name from `statusHealthIndicator` to
`applicationHealthIndicator`.

This provides less confusing JSON output:

  {"status":"UP","application":{"status":"UP"}}

vs:

  {"status":"UP","status":{"status":"UP"}}

Fixes gh-1291
2014-08-11 09:04:01 -07:00
Christian Dupuis
063f67da5f Maintain same structure in /health output
JSON output of /health now has the same structure for 1 or more HealthIndicators. This makes it easier to consume the response from scripts or apps

fixes #1291
2014-08-08 14:59:04 +02:00
Spring Buildmaster
74d0c5185a Next development version 2014-08-07 11:59:17 -07:00
Phillip Webb
7641f23f71 Merge branch '1.1.x' 2014-08-06 12:26:29 -07:00
Phillip Webb
d854c09d5a Add option to disable X-Application-Context
Add `management.add-application-context-header` option to disable
the automatic adding of the `X-Application-Context` HTTP header.

Fixes gh-1308
2014-08-06 12:25:38 -07:00
Phillip Webb
92899474ac Polish 2014-08-06 09:10:23 -07:00
Dave Syer
1e51c5db15 Merge branch '1.1.x' 2014-08-05 07:56:55 -07:00
Dave Syer
1259057acb Change unknownPath to unmapped 2014-08-05 07:56:02 -07:00
Taylor Wicksell
733b22f46a gh-1331 defaulting 404 response metrics to "unkownPath" when no matching handler can be found
Fixes gh-1331, Fixes gh-1333
2014-08-05 07:55:34 -07:00
Taylor Wicksell
c6f5961ad6 fix for gh-1331 MetricFilter now supports uri template variables when available 2014-08-04 17:19:16 -07:00
Phillip Webb
642224feff Support regex in keys-to-sanitize
Update EnvironmentEndpoint and ConfigurationPropertiesReportEndpoint
to allow regex patterns in `keys-to-sanitize`.

Fixes gh-1245
2014-07-29 15:13:45 -07:00
Phillip Webb
da5c36c3a9 Polish 2014-07-29 13:06:47 -07:00
Phillip Webb
14c6243637 Refactor PublicMetrics registration
Rework flexible PublicMetrics registration introduced in 2be6b3e4 to
restore compatibility with v1.1 VanillaPublicMetrics. The new
MetricReaderPublicMetrics class now exposes metrics from a MetricReader
and VanillaPublicMetrics is deprecated. The MetricsEndpoint can now
exposes a collection of PublicMetric interface directly.

See gh-1094
2014-07-29 12:31:40 -07:00
Andy Wilkinson
2abf3ebdc3 Merge branch '1.1.x' 2014-07-29 15:12:11 +01:00
Andy Wilkinson
333bc3e842 Avoid RS.getObject(index, Object.class) as it breaks MySQL on Java 7
Previously, when running on Java 7+, the JDBC query driven by
DataSourceHealthIndicator resulted in a call to
ResultSet.getObject(index, Object.class). When using MySQL's JDBC
driver this failed with an SQLException with the message "Conversion
not supported for type java.lang.Object". The problem does not occur
on Java 6 as the overload of getObject that takes a type does not
exist; ResultSet.getObject(index) is called instead and MySQL happily
returns whatever type it deems to be appropriate for the column.

This commit updates DataSourceHealthIndicator so that
ResultSet.getObject(index) will always be used, irrespective of the
version of Java that Boot is running on.

Closes #1306
2014-07-29 15:11:53 +01:00