659 Commits

Author SHA1 Message Date
Andy Wilkinson
95f31b0d30 Polish Undertow access logs contribution
- Apply project’s code formatting and conventions
 - Don’t use the IO and worker thread configuration when creating the
   worker for the AccessLogReceiver. The IO and worker thread
   configuration is for HTTP request processing and a worker in its
   default configuration should be sufficient for the access log
   receiver.
 - Don’t use a temporary directory as the default for the access log
   directory. A temporary directory makes (some) sense for Tomcat as it
   requires a directory for its basedir. Undertow has no such
   requirement and using a temporary directory makes it hard to locate
   the logs. The default has been updated to a directory named logs,
   created in the current working directory.
 - Document the new properties in the application properties appendix

Closes gh-3014
2015-05-20 11:02:49 +01:00
Stephane Nicoll
b26a650f5b Merge branch '1.2.x' 2015-05-20 10:59:07 +02:00
Joe Kutner
dbe310b806 Update Heroku deployment documentation
Closes gh-3000
2015-05-20 10:58:42 +02:00
Andy Wilkinson
1fe1aa8939 Update RemoteIpValve’s default internal proxies to include 172.16/12
Closes gh-2699
2015-05-19 17:34:53 +01:00
Stephane Nicoll
e0f59d8a74 polish batch table prefix customization
See gh-2132
2015-05-19 10:06:09 +02:00
Stephane Nicoll
62a2dd659b Add display-name option
Allow the display-name of the application to be customized when deployed
in an embedded container via the `server.display-name` property.

Closes gh-2600
2015-05-15 16:27:43 +02:00
Stephane Nicoll
d63d2dded8 polish
Improve documentation of cors settings.

See gh-2936
2015-05-15 08:45:15 +02:00
Andy Wilkinson
84d3a34c49 Add CORS support to the actuator’s endpoints
This commit adds CORS support to the Actuator’s MVC endpoints. CORS
support is disabled by default and is only enabled once the
endpoints.cors.allowed-origins property has been set.

The new properties to control the endpoints’ CORS configuration are:

endpoints.cors.allow-credentials
endpoints.cors.allowed-origins
endpoints.cors.allowed-methods
endpoints.cors.allowed-headers
endpoints.cors.exposed-headers

The changes to enable Jolokia-specific CORS support (57a51ed) have been
reverted as part of this commit. This provides a consistent approach
to CORS configuration across all endpoints, rather than Jolokia using
its own configuration.

See gh-1987
Closes gh-2936
2015-05-14 11:39:53 +01:00
Dave Syer
3fda744522 Add samples and tweak metrics reader/writers till they work 2015-05-13 13:56:02 +01:00
Dave Syer
60a4943520 Add support for metric export to OpenTSDB 2015-05-13 13:56:02 +01:00
Dave Syer
0bd845d183 Add support for Statsd metric export 2015-05-13 13:56:02 +01:00
Dave Syer
0fde04d325 Add AggregateMetricReader able to aggregate counters and gauges
Different physical sources for the same logical metric just need to
publish them with a period-separated prefix, and this reader will
aggregate (by truncating the metric names, dropping the prefix).

Very useful (for instance) if multiple application instances are
feeding to a central (e.g. redis) repository and you want to
display the results. Useful in conjunction with a
MetricReaderPublicMetrics for hooking up to the /metrics endpoint.
2015-05-13 13:56:01 +01:00
Dave Syer
53a61474aa Add counter and gauge services based on in-memory buffers
This seems pretty efficient (approx 12M write/s as opposed to 2M with
the DefaultCounterService). N.B. there is no need to change most of
the rest of the metrics stuff because metrics are write-often, read-
seldom, so we don't need high performance reads as much.

The Spring Integration configuration and Dropwizard support has changed
a bit. Functionally very similar and probably opaque to users, but now
the messaging operates as an Exporter on a @Scheduled method, and
Dropwizard is a replacement [Gauge,Counter]Service.

Metrics are all
collected live in-memory (and can be very fast with Java 8), buffered
there and shipped out to a MessageChannel (if one exists with id
"metricsChannel") in a background thread.

We can still use Java 8 library APIs (like LongAdder) but to compile
to java 7 compatible byte code we have to forgo the use of lambdas :-(
and shorthand generics (<>).

Fixes gh-2682, fixes gh-2513 (for Java 8 and Dropwizard users).
2015-05-13 13:56:01 +01:00
Andy Wilkinson
d4dfa8d979 Polish 18453c0e
Document new configuration properties and remove redundant code
2015-05-13 08:51:01 +01:00
Dave Syer
b24e736cfe Add env var parameters to launch.script
Some of the features of the launch.script were not exposed for users
to be able to control at runtime. It now accepts things like
PID_FOLDER and LOG_FOLDER as environment variables, and also adopts
a clear naming convention where only the inputs are UPPER_CASE.
2015-05-12 10:23:44 +01:00
Andy Wilkinson
8f5b88c394 Ensure that javadoc is generated in a full build
For reasons that I don’t understand, Maven has decided to stop running
the javadoc:jar task as part of the package phase. It appears to be
related to the addition of the build-helper plugin in
spring-boot-dependencies. Binding javadoc:jar to the prepare-package
phase convinces Maven to run it, apparently without any unwanted side
effects.
2015-05-07 17:17:41 +01:00
Andy Wilkinson
51c49b69c5 Support bom-based dependency management in the CLI
Previously, the CLI’s dependency management used proprietary Properties
file-based metadata to configure its dependency management. Since
spring-boot-gradle-plugin’s move to using the separate dependency
management plugin the CLI was the only user of this format.

This commit updates the CLI to use Maven boms to configure its
dependency management. By default it uses the spring-boot-dependencies
bom. This configuration can be augmented and overridden using the new
@DependencyManagementBom annotation which replaces @GrabMetadata.

Closes gh-2688
Closes gh-2439
2015-05-07 14:58:23 +01:00
Andy Wilkinson
7e8bad09db Merge branch '1.2.x' 2015-04-30 15:17:18 +01:00
yinheli
ef49ced12a Polish Gradle example for using Undertow
Closes gh-2896
2015-04-30 15:17:01 +01:00
Andy Wilkinson
615af0834f Merge branch '1.2.x' 2015-04-22 17:29:36 +01:00
Andy Wilkinson
bc27a8aa6e Show different Gradle repository config for snapshots vs releases
Closes gh-2838
2015-04-22 17:29:22 +01:00
Andy Wilkinson
01b45d0c3a Merge branch '1.2.x' 2015-04-21 15:28:37 +01:00
izeye
68ed4dec9b Polish production ready features documentation
Closes gh-2832
2015-04-21 15:28:07 +01:00
Andy Wilkinson
8d52893b04 Merge branch '1.2.x' 2015-04-21 15:20:08 +01:00
izeye
b8a45d9117 Fix typo in deployment documentation
Closes gh-2836
2015-04-21 15:19:40 +01:00
Andy Wilkinson
34b986745c Merge branch '1.2.x' 2015-04-21 15:18:14 +01:00
Kamil Szymanski
88d03b76e9 Fix Groovy templates ViewResolver class name and id in How-to docs
Closes gh-2846
2015-04-21 15:17:57 +01:00
Andy Wilkinson
4452bb1873 Revert "Upgrade Gradle plugin’s ID so it’s suitable for the Plugin Portal"
This reverts commit b1c0a7cda486e4f745b4233715efb8c0dc2814df.

The plugin publishing process has moved to a new plugin-based approach
that brings with it some significant limitations:

 - There's no staging to allow the promotion of good release builds
 - There's no easy way to upload an existing artifact
 - There's no control over the published pom.

The risk brought by these limitations, particularly the first, are
too great so we will no be publishing the Boot plugin to the Portal
until they're resolved.

Changing the plugin's ID was a breaking change that would require
users to do some work when they upgrade to Boot 1.3. The ID of the
plugin was changed purely so that it met the Portal's requirements.
Given that the plugin will not be published to the Portal for the
foreseaable future there's no need for us to inflict a breaking change
on people when there will be no benefit.

See gh-1567
2015-04-21 12:37:12 +01:00
Stephane Nicoll
5ccf495c52 Add explicit reference to Flyway
Add an entry for `flyway.*` to make it more explicit that any public
property of the auto-configured `Flyway` object can be set via the
`flyway` prefix.

Closes gh-2667
2015-04-21 10:26:07 +02:00
Eddú Meléndez
bd93c75216 Add spring.cache keys documentation
See gh-2633
2015-04-14 14:35:09 +02:00
Stephane Nicoll
f480c0de2f Merge branch '1.2.x' 2015-04-14 09:51:58 +02:00
Stephane Nicoll
0f14210937 Polish documentation 2015-04-14 09:51:14 +02:00
Phillip Webb
e1152b4db8 Merge branch '1.2.x' 2015-04-13 11:41:03 -07:00
Phillip Webb
dd19dd70c5 Update relaxed binding documentation sample
Include getters and setters with the sample class.

Fixes gh-2813
2015-04-13 11:38:42 -07:00
Stephane Nicoll
476f232d49 Fix "spring.mandatory-file-encoding" property doc 2015-04-13 12:23:06 +02:00
Stephane Nicoll
7a4e246f08 Fix typo 2015-04-12 10:55:00 +02:00
Phillip Webb
ed57adb5fe Update deployment documentation
Change the "cloud deployment" section to cover general "deployment" and
add documentation for init.d and systemd support.

Closes gh-1117
2015-04-09 10:57:40 -07:00
Andy Wilkinson
03b109a2c8 Polish Elasticsearch health indicator
- Nest the configuration class in HealthIndicatorAutoConfiguration,
   bringing it into line with the other health indicator configuration
   classes
 - Include the statistics from the response in the health’s details
 - Map YELLOW to UP rather than UNKNOWN as it indicates that the cluster
   is running but that “the primary shard is allocated but replicas are
   not” [1]. The details can be used to determine the precise state of
   the cluster.
 - Add a property to configure the time that the health indicator will
   wait to receive a response from the cluster
 - Document the configuration properties
 - Update the tests to cover the updated functionality

See gh-2399

[1] http://www.elastic.co/guide/en/elasticsearch/reference/1.x/cluster-health.html
2015-04-09 10:16:32 +01:00
Andy Wilkinson
1dcf18b16e Allow Jackson's serialization inclusion to be configured via the env
This commit adds support for configuring an ObjectMapper's
serialization inclusion using the environment via the
spring.jackson.serialization-inclusion property. The property's value
should be one of the values on the JsonInclude.Include enumeration.
Relaxed binding of the property value to the enum is supported. For
example:

spring.jackson.serialization-inclusion: non_null

Closes gh-2532
2015-04-08 16:47:49 +01:00
Andy Wilkinson
c51277f6eb Merge branch '1.2.x' 2015-04-07 17:49:42 +01:00
izeye
d8f45ab6ca Document MultipartProperties
Closes gh-2779
2015-04-07 17:49:15 +01:00
Andy Wilkinson
fa4562f408 Polishing: spaces -> tabs 2015-04-07 17:48:40 +01:00
Andy Wilkinson
3df6cb1325 Merge branch '1.2.x' 2015-04-07 11:37:43 +01:00
Andy Wilkinson
212520fa15 Add a property to disable auto-configuration of GzipFilter
Closes gh-2776
2015-04-07 11:24:24 +01:00
Stephane Nicoll
22b1ffd9af Merge branch '1.2.x' 2015-04-03 10:31:37 +02:00
Stephane Nicoll
adaf175273 Clarified the naming scheme for starters
Initial update to the documentation to mention how a 3rd party starter
should be named. The current doc sends a completely inconsistent message
to what we actually intend.

See gh-2537
2015-04-03 10:24:11 +02:00
Spring Buildmaster
e03c11dda8 Next development version 2015-03-30 22:56:20 -07:00
Phillip Webb
5d9efe40d0 Merge branch '1.2.x' 2015-03-30 17:01:08 -07:00
Phillip Webb
495a79c324 Document logging properties with @PropertySource
Add a note to the logging documentation to point out a potential gotcha.

Fixes gh-2709
2015-03-30 16:59:33 -07:00
Phillip Webb
441beee2fa Merge branch '1.1.x' into 1.2.x 2015-03-30 10:07:26 -07:00