Commit Graph

1148 Commits

Author SHA1 Message Date
Johnny Lim
e2a8fc461c Polish docs
Closes gh-4328
2015-10-28 17:51:32 +01:00
Andy Wilkinson
8ed472d6f9 Update logging listener to use normal stack trace ordering by default
Previously, LoggingApplicationListener used %rEx as the default
exception conversion word. This would result in the nested causes
being logging in reverse order, i.e. the most deeply nested cause
would be logged first.

This commit updates the default to be %wEx and adds a test to verify
the default behaviour.

Closes gh-4247
2015-10-28 14:07:06 +00:00
Stephane Nicoll
17cf24110e Add reference to samples
Closes gh-1248
2015-10-27 16:54:05 +01:00
Axel Fontaine
d25b7ca46b Add documentation for Boxfuse and Amazon Web Services deployment 2015-10-27 14:42:08 +00:00
Vedran Pavic
acf6f2193b Fix HTTP health endpoint access restrictions table layout
Closes gh-4304
2015-10-27 11:19:34 +00:00
d10xa
1720941d47 Fix typo in executable jar format appendix
Closes gh-4314
2015-10-27 11:13:08 +00:00
Stephane Nicoll
fdf75d3ede Document Actuator's CORS support
Closes gh-3010
2015-10-27 11:41:30 +01:00
Stephane Nicoll
b74c10ba3a Document FilterRegistrationBeans specific default
If a filter is registered in `web.xml` with no `dispatcher` element, the
spec states that it should have the `REQUEST` dispatcher type only.

As we are adding more dispatcher types by default, it can be surprising
for users migrating from a `web.xml` based  web app. The documentation
has now an explicit note about this.

Closes gh-2689
2015-10-27 11:05:56 +01:00
Stephane Nicoll
04fa7e4d27 Add dependency management section in the doc
Better describe what Spring Boot offers with regards to dependency
management and how it translates in Maven and Gradle.

Closes gh-2580
Closes gh-3695
2015-10-27 10:50:18 +01:00
Stephane Nicoll
9af17555c0 Polish 2015-10-27 09:20:16 +01:00
Stephane Nicoll
0e99ba9004 Polish contribution
I don't think we want to keep this on a single line.

Closes gh-4309
2015-10-27 08:58:24 +01:00
Johnny Lim
396bea22b9 Polish docs
See gh-4309
2015-10-27 08:58:12 +01:00
Andy Wilkinson
0061e84a59 Document DevTools' requirement for shutdown hook to be registered
Closes gh-4153
2015-10-26 11:04:54 +00:00
Vedran Pavic
59d2ae598b Update documentation to clarify systemd service user
Closes gh-4293
2015-10-26 10:57:45 +00:00
Stephane Nicoll
9d9538e558 Fix section of Windows service section
As the Windows service support is not related at all to the executable
jar support it needs to be in a separate location.
2015-10-23 17:22:56 +02:00
Johnny Lim
e477598cc6 Fix broken links
Closes gh-4272
2015-10-22 17:45:35 +02:00
Stephane Nicoll
c0b8974bc0 Merge branch '1.2.x' 2015-10-22 17:42:22 +02:00
Stephane Nicoll
7c1bf58262 Filter duplicate
Improve the initial PR to include a filtering of the profiles that were
already enabled via the `spring.profiles.active` property.

Also add more tests to prove that each profile is loaded only once
now.

Closes gh-4273
2015-10-22 17:19:56 +02:00
Stephane Nicoll
f43817dd27 Fix broken link
Closes gh-4268
2015-10-22 14:11:30 +02:00
Stephane Nicoll
c086a6a7ff Polish doc 2015-10-21 10:36:11 +02:00
Phillip Webb
a7a2aa0461 Add "INIT INFO" property substitutions
Update the "INIT INFO section" of `launch.script` to include
`initInfoProvides`, `initInfoShortDescription` and `initInfoDescription`
property substitutions.

The Maven plugin has been updated to populate substitutions with
`${project.artifactId}`, `${project.name}` and `${project.description}`.

Fixes gh-4245
2015-10-20 17:48:22 -07:00
Stephane Nicoll
cc3b7ca6f6 Add missing configuration keys for groovy template 2015-10-20 15:46:09 +02:00
Stephane Nicoll
eb2650976f Fix typo 2015-10-20 15:30:07 +02:00
Stephane Nicoll
168fc2f61f Disable addResources by default
Flip the default value of `addResources` for both the Maven and Gradle
plugins. This effectively turns off static resources reloading and, more
importantly, the pruning of duplicate resources from the target
directory.

As devetools is our mainstram solution for such feature, the documantion
has been updated to reflect that.

Closes gh-4227
2015-10-20 15:04:25 +02:00
Stephane Nicoll
bc0eb996ff Polish contribution
Closes gh-4202
2015-10-20 11:35:35 +02:00
Johnny Lim
330073ed17 Fix broken link
Closes gh-4243
2015-10-20 09:10:27 +02:00
zhanhb
299d0653ed Fix default value of MongoDB port in doc
Closes gh-4212
2015-10-19 15:08:43 +02:00
Stephane Nicoll
32b32b7142 Notify the use of logback specific system property
Logback documentation explains how to initialize the logging system and
namely how the `logback.configurationFile` system property can be used to
specify the configuration file to use.

Spring Boot has an abstraction on top of that. A user can define the
`logging.path` property regardless of the logging infrastructure it is
using.

Users following the logback documentation can be confused at first so
we're not logging a warning when we found out that the logback specific
property has been specified.

Closes gh-2382
2015-10-19 14:37:12 +02:00
Tommy Ludwig
e4230e61d7 Make the name of the log file produced by launch script configurable
Previously, the launch script would always use a file named
<appname>.log to capture the application's console output. This commit
adds a variable, LOG_FILENAME, for specifying the file name defaulting
to <appname>.log.

Fixes gh-4194
2015-10-19 11:38:22 +01:00
Marco Vermeulen
673bde0bf7 Update all GVM references to SDKMAN!
Closes gh-4225
2015-10-18 09:20:57 +02:00
Spring Buildmaster
2b38a861e3 Next Development Version 2015-10-16 05:57:24 -07:00
Andy Wilkinson
f8cffd745c Merge branch '1.2.x' 2015-10-16 10:42:26 +01:00
Andy Wilkinson
35a3f4a1c0 Reinstate the use of shutdown hooks in the tests
Commit adf2c44b was an attempt to prevent HSQLDB from throwing an
exception when the JVM exits. This was achieved by disabling the
application context’s shutdown hook in the tests. This had the unwanted
side effect of causing tests’ application contexts not to be closed. The
reported symptom was that @Destroy methods were no longer being invoked.
We need a different solution to the problem.

The exception was:

Caused by: org.hsqldb.HsqlException: Database lock acquisition failure: attempt to connect while db opening /closing
    at org.hsqldb.error.Error.error(Unknown Source)
    at org.hsqldb.error.Error.error(Unknown Source)
    at org.hsqldb.error.Error.error(Unknown Source)
    at org.hsqldb.DatabaseManager.getDatabase(Unknown Source)
    at org.hsqldb.DatabaseManager.newSession(Unknown Source)
    ... 23 common frames omitted

I originally thought this was due to a race between the application
context’s shutdown hook and HSQLDB’s shutdown hook, however HSQLDB
doesn’t use a shutdown hook. I believe that the problem is due to 
an HSQLDB database being created with shutdown=true in its URL, similar
to the problem described here [1]. This will shut down the database when
the last connection to it is closed, however the shutdown will happen
asynchronously. If the JVM then runs the application context’s shutdown
hook, EmbeddedDatabaseFactory will attempt to connect to the database to
execute the SHUTDOWN command. This executes synchronously but will race
with the asynchronous shutdown that’s executing as a result of
shutdown=true in the JDBC url and the last connection to the database
being closed. 

This commit reinstates the use of application context shutdown hooks in
the tests, and updates the documentation to recommend that, if a user
manually configures the URL for their embedded database, they do so 
in such a way that the database doesn’t shutdown automatically, thereby
allowing the shutdown to be driven by application context close.

Closes gh-4208

[1] http://sourceforge.net/p/hsqldb/bugs/1400/
2015-10-16 10:36:20 +01:00
Phillip Webb
922f8b6ba6 Add server.session.store-dir support
Add support for a `server.session.store-dir` property which can be used
to specify where session data source be saved.

Fixes gh-4191
2015-10-14 22:56:01 -07:00
Wallace Wadge
e3315d2252 Allow TraceWebFilter to trace more attributes
Update TraceWebFilter to optionally trace more details from the
HttpServletRequest/HttpServletResponse. The `management.trace.include`
property can be used to change what aspects are logged.

Closes gh-3948
2015-10-14 13:25:11 -07:00
Phillip Webb
143536f72d Polish 2015-10-14 12:52:38 -07:00
Stephane Nicoll
4fca78a9fc Clarify debug mode
Closes gh-3853
2015-10-14 15:59:44 +02:00
Stephane Nicoll
0785357a8b Add a note related to StatsdMetricWriter dependency
Closes gh-3862
2015-10-14 15:36:36 +02:00
Stephane Nicoll
85d6b499a2 Add a note that CRaSH requires a JDK
Closes gh-3813
2015-10-14 15:25:05 +02:00
Stephane Nicoll
496744486c Add links to sample auto-configuration classes
Closes gh-3767
2015-10-14 15:14:20 +02:00
Stephane Nicoll
69581f90da Clarify MainClass option of the bootRepackage task
Closes gh-2477
2015-10-14 15:00:33 +02:00
Stephane Nicoll
06c78a41cd Document that ConfigurationProperties can't use SpEL
Closes gh-1768
2015-10-14 14:36:33 +02:00
Stephane Nicoll
cca153e986 Document how to return custom JSON on errors
Closes gh-3999
2015-10-14 14:16:45 +02:00
Stephane Nicoll
e79ef9b73b Add option to exclude devtools from fat jar
Add an `excludeDevtools` property to both the Maven and Gradle plugin
that removes `org.springframework.boot:spring-boot-devtools` (if
necessary) when repackaging the application.

Closes gh-3171
2015-10-14 01:22:57 -07:00
Phillip Webb
e2fc30ef24 Polish 2015-10-14 00:20:32 -07:00
Phillip Webb
ab7bec1160 Update clarify of bean conditions
See gh-4104
2015-10-14 00:20:32 -07:00
Stephane Nicoll
a7bdef61de Clarify usage of @ConditionalOn[Missing]Bean
Closes gh-4104
2015-10-13 18:55:47 +02:00
Stephane Nicoll
9d3858caff Update health endpoint documentation
Closes gh-4157
2015-10-13 18:36:27 +02:00
Stephane Nicoll
e221dfc3a6 Clarify ConversionService initialization
Spring Boot will eagerly initialize a `ConversionService` named
`conversionService` for configuration keys processing. This commit adds
a note in the documentation regarding that special behaviour.

Closes gh-4162
2015-10-13 17:39:31 +02:00
Andy Wilkinson
25e719f549 Fix handling of security.headers.* to allow headers to be disabled
Spring Security 4’s default configuration will, irrespective of any
other header writers that are added, enable writers for the following
headers:

 - X-Content-Type
 - X-XSS-Protection
 - Cache-Control
 - X-Frame-Options

Previously, SecurityProperties.headers used false as the default for the
properties that enable or disable these headers but the configuration is
only applied when the properties are true. This left us with the right
default behaviour (the headers are enabled) but meant that the
properties could not be used to switch off the headers.

This commit changes the defaults for the four properties to true and
updates SpringBootWebSecurityConfiguration to only apply the
configuration when the properties are false. This leaves us with the
desired defaults while allowing users to disable one or more of the
properties by setting the relevant property to false.

Closes gh-3517
2015-10-13 15:43:57 +01:00
Stephane Nicoll
f4c1efd128 Clarify property expansion
So far we have wrongly advertized that the `spring-boot-starter-parent`
filters application configuration in such a way that standard Spring
placeholders are not processed.

In order to achieve such feature, the `useDefaultDelimiters` property
must be set to `false` as otherwise default delimiters are appended to
the list of custom delimiters.

This property is not enabled so that only keys surrounded by `@` are
filtered by the build.

Closes gh-3092
2015-10-13 11:41:23 +02:00
Andy Wilkinson
a899058ac3 Add a tip to the docs about using DB_CLOSE_ON_EXIT=false with H2
Closes gh-4135
2015-10-12 18:08:17 +01:00
Andy Wilkinson
8ee8c9fe90 Merge branch '1.2.x' 2015-10-12 14:12:20 +01:00
Andy Wilkinson
d33d068fae Upgrade to Tomcat 8.0.28 and test support for SSL config from classpath
Prior to 8.0.28 Tomcat required the key store and trust store (if any)
to be available directly on the filesystem, i.e. classpath: resources
would not work. Tomcat 8.0.28 removed this limitation.

This commit updates to Tomcat 8.0.28, updates the tests to verify
the new Tomcat capability and removes the obsolete documentation of
the restriction.

Closes gh-4048
2015-10-12 13:36:32 +01:00
Stephane Nicoll
ce544e8131 Add a reference to Windows service sample
Closes gh-3829
2015-10-09 16:37:58 +02:00
Stephane Nicoll
422444c3f2 Add throwExceptionIfNoHandlerFound property
Add a property to customize if an exception should be thrown when no
handler was found to process a given request.

Closes gh-4000
2015-10-09 11:40:46 +02:00
Andy Wilkinson
4968900b1d Gracefully disable Solr auto-configuration when Solr 5 is on classpath
Previously, if Solr 5 was on the classpath, SolrAutoConfiguration
would fail with a rather cryptic error message due to a change in the
inheritance hierarchy of CloudSolrServer between Solr 4 and Solr 5.

This commit updates SolrAutoConfiguration to be conditional on a
class that exists in Solr 4 but was removed in Solr 5. This has the
effect of switching off the auto-configuration when Solr 5 is on
the classpath, allowing the auto-configuration report to be used to
identify why the configuration was disabled. The documentation has
also been updated to state that Spring Boot does not currently support
Solr 5.0.

Closes gh-2795
2015-10-08 16:24:05 +01:00
Andy Wilkinson
97c8749528 Update configuration metadata for show-banner and banner-mode changes
Closes gh-4001
2015-10-08 16:02:52 +01:00
Andy Wilkinson
36d4246289 Add opt-in support for registering a shutdown hook to shut down logging
This commit adds a new property, logging.register-shutdown-hook, that
when set to true, will cause LoggingApplicationListener to register
a shutdown hook the first time it initializes a logging system. When
the JVM exits, the shutdown hook shuts down each of the supported
logging systems, ensuring that all of their appenders have been
flushed and closed.

Closes gh-4026
2015-10-08 15:53:22 +01:00
Andy Wilkinson
01eb4cf954 Rework breaking API changes
This commit changes the new mode-based configuration to use two new
methods – setBannerMode on SpringApplication and bannerMode on
SpringApplicationBuilder. The old methods, setShowBanner and
showBanner on SpringApplication and SpringApplicationBuilder
respectively, have been reinstated and deprecated.

Closes gh-4001
2015-10-08 14:41:50 +01:00
“Jeremy
3090659971 Add an option to log banner rather than printing it to standard out
This commit adds the option to output the banner using the logger
instead of standard out. Rather than taking a boolean
spring.main.show-banner is now configured using an enum. Three values
are supported:

 - LOG: the banner is logged
 - CONSOLE: the banner is printed to standard out (previously true)
 - OFF: the banner is switched off (previously false)

The default behavior remains unchanged; the banner will be printed to
standard out.

Closes gh-4022
See gh-4001
2015-10-08 14:41:50 +01:00
r11runner
586f525a6b Fix typos
Closes gh-4093
2015-10-06 09:32:15 +02:00
Andy Wilkinson
2292cff1ea Document the need to use spring.data.mongodb.uri with Mongo 3.0
Closes gh-4051
2015-10-05 15:22:26 +01:00
Andy Wilkinson
bee7d24c1a Provide an example of using a .conf file with a truly executable jar
Closes gh-3522
2015-10-05 14:14:51 +01:00
Ray Sinnema
5dc2290608 Fix typos
Closes gh-4083
2015-10-03 11:51:55 +02:00
Phillip Webb
c3b7764b72 Polish 2015-10-02 11:25:56 -07:00
Stephane Nicoll
19b5e59234 Use spring.velocity.charset for template encoding
Previously `spring.velocity.charset` only controlled the output encoding
with the templates being loaded with the default encoding. We now
consistently set the same value for both the input and output encodings.

It is still possible to override it to a different value using
`spring.velocity.properties.input.encoding`

Closes gh-3994
2015-10-02 16:22:08 +02:00
Stephane Nicoll
8978f54cc3 Use spring.velocity.charset for template encoding
Previously `spring.velocity.charset` only controlled the output encoding
with the templates being loaded with the default encoding. We now
consistently set the same value for both the input and output encodings.

It is still possible to override it to a different value using
`spring.velocity.properties.input.encoding`

Closes gh-3994
2015-10-02 16:12:42 +02:00
Dave Syer
e232e7c837 Add warning about export of metrics being switched off
E.g. just adding Dropwizard to the classpath switches it off which
might be surprising. We need a @ExportMetricReader to do the export.
2015-10-02 14:51:50 +01:00
Stephane Nicoll
b2c3e7e2ed Rename error.* properties to server.error.*
Closes gh-4050
2015-10-02 14:03:24 +02:00
Dave Syer
972557851a All MVC endpoint paths to be separately customized from the id
This change applies only to "standard" MVC endpoints (not the extended
ones like /env and /jolokia which already have this feature). Allows
users to supply an endpoints.{name}.path.

Fixes gh-2790
2015-10-02 10:42:43 +01:00
Andy Wilkinson
434d46f583 Add support for using RemoteSpringApplication behind a proxy
This commit adds two new properties, spring.devtools.remote.proxy.host
and spring.devtools.remote.proxy.port that can be used to configure
RemoteSpringApplication to connect to the remote application through
an HTTP proxy.

Closes gh-3968
2015-10-02 10:37:32 +01:00
Phillip Webb
d4c2959cee Document X-Forwarded-For support
Closes gh-4018
2015-10-02 00:00:22 -07:00
Stephane Nicoll
93d12494e5 Migrate Spring Data Rest settings
In order to have more control on the structure of the configuration, we
do not bind to `RepositoryRestConfiguration` directly anymore. This
commit introduces `RepositoryProperties` instead.

See gh-3854
Closes gh-4073
2015-10-01 17:56:32 +02:00
izeye
5b211706c0 Polish
Closes gh-4069
2015-10-01 09:56:33 +02:00
Phillip Webb
db0212b834 Allow spring-boot-devtools to work with JRebel
Update devtools to detect JRebel and disable application restarts. Other
features (such as LiveReload) can still be used.

Fixes gh-3095
2015-09-30 15:48:20 -07:00
Dave Syer
cad2666522 Add support for LOG_LEVEL_PATTERN replacing the default level pattern
For logback we also support logging.pattern.level as a synonym.

Fixes gh-4062
2015-09-30 17:15:34 +01:00
Stephane Nicoll
b14756a7bb Improve git commit information for Gradle
Closes gh-3949
2015-09-30 14:41:31 +02:00
zhanhb
b855a68bf4 Fix typo
Closes gh-4054
2015-09-30 09:48:23 +02:00
Andy Wilkinson
2440e05cc4 Document startup script's support for JAVA_OPTS
Closes gh-3808
2015-09-29 13:58:37 +01:00
Andy Wilkinson
a23d11fe6c Update appendix with details of new Spring HATEOAS property
Follow-on from c55900b4.

Closes gh-3891
2015-09-29 13:43:15 +01:00
Michael Stummvoll
a1e0f01103 Support error.include-stacktrace configuration
Add `error.include-stacktrace` configuration option to determine when
stack trace attributes should be added. Options are `never`, `always`
or `on-trace-param`.

Prior to this commit stacktrace attributes were never includes in HTML
responses, and only included in JSON responses when a `trace` request
parameter was set to `true`. This has now been changed so that,
by default, stacktrace attributes are never included.

The BasicErrorController includes a protected method that can be
overridden if includes should be different depending on the `produces`
mapping.

Closes gh-2371
2015-09-28 12:14:38 -07:00
Phillip Webb
c73ffdd5a6 Fix javadoc import issues 2015-09-26 01:58:13 -07:00
Julien Dubois
c401330901 Add Cassandra support
Add auto-configuration support and health checks for Cassandra and
Spring Data Cassandra.

Fixes gh-2064
Closes gh-2214
2015-09-25 23:00:53 -07:00
Phillip Webb
49fab4a60f Fix broken documentation link 2015-09-25 22:04:30 -07:00
Simon Buettner
70031cca66 Add statsd metric export auto-configuration
Update MetricExportAutoConfiguration to auto-configure statsd metrics
export when a `spring.metrics.export.statsd.host` property is set.

Closes gh-3719
2015-09-24 00:19:56 -07:00
Fabricio Colombo
605eb8a14d Add Liquibase labels and parameters properties
Update `LiquibaseAutoConfiguration` and `LiquibaseProperties` to add
support for labels and parameters.

Closes gh-3915
2015-09-23 23:56:51 -07:00
Spring Buildmaster
9409c49c10 Next development version 2015-09-16 09:00:17 -07:00
Stephane Nicoll
77eec2e0aa Fix typo
Closes gh-3941
2015-09-10 19:35:09 +02:00
izeye
1f91c342e1 Polish doc
Closes gh-3933
2015-09-09 17:37:09 +02:00
Phillip Webb
026c3019df Polish 2015-09-08 13:37:28 -07:00
Stephane Nicoll
ac582709e7 Clarify doc
Closes gh-3858
2015-09-08 14:04:39 +02:00
izeye
99a14c3f58 Fix a broken link in the doc
Closes gh-3917
2015-09-07 19:01:29 +02:00
Phillip Webb
899537deb0 Use dashed property form in documentation 2015-09-03 15:47:55 -07:00
Phillip Webb
6193b640a4 Polish 2015-09-02 23:44:19 -07:00
Tommy Ludwig
4a27ea563a Add link to Hazelcast documentation
Closes gh-3866
2015-09-02 15:30:36 +02:00
Stephane Nicoll
2c619232b3 Add ComponentScan aliases on SpringBootApplication
Add aliases for `@ComponentScan`attributes on `@SpringBootApplication`
so that it is possible to customize how the component scan should be
applied on the project.

Previously, one would have to revert to `@EnableAutoConfiguration` to
achieve the same result.

Closes gh-3368
2015-08-27 14:12:01 +02:00
Stephane Nicoll
721b5a2395 Hazelcast auto-configuration
Provide a general purpose Hazelcast integration (i.e. not tied to caching).

Auto-configure a `HazelcastInstance` either based on the presence of a
`Config` bean or a configuration file. Said configuration file can be
specified explicitly or automatically found from default locations.

The cache integration already supports Hazelcast so it has been reworked
to automatically reuse an existing `HazelcastInstance` if available.

Closes gh-2942
2015-08-27 10:45:04 +02:00
Dave Syer
ff681adc5b Fix launch.script to not exit prematurely
Use "return" instead of "exit" where possible, especially in
function definitions.

Also fixed the exit codes to match the LSB spec for some specific
conditions (fixes gh-3521).

Fixes gh-3199, fixes gh-3535
2015-08-26 17:54:20 +01:00
Dave Syer
67483bb73c Only use Converters which are @ConfigurationPropertiesBinder qualified
Users sometimes create beans of type Converter and don't expect that to
automatically trigger a cascade of early initialization. This change adds
a qualifier to the Converters that are used by @ConfigurationProperties,
so they can be isolated (and simple).

Fixes gh-2669
2015-08-26 17:27:35 +01:00
Dave Syer
538afc4ab1 Make some methods in BasicErrorController protected
Spring MVC requires all handlers for the same path to be on the same handler
so if anyone wants to add new handlers for different content types they
have to copy a lot of code from BasicErrorController. This change increases
the visibility of the basic utility methods in BasicErrorController so that
custom handlers can be added easily.

Fixes gh-3828
2015-08-26 17:27:35 +01:00
Andy Wilkinson
003268fb4e Add support for @WebFilter, @WebListener, @WebServlet
This commit adds a new annotation, @ServletComponentScan, that can be
used to enable scanning for @WebFilter, @WebListener, and @WebServlet
annotated classes. Registration beans will be automatically created for
any classes that are found, with the configuration derived from the
annotation.
2015-08-26 15:58:52 +01:00
Stéphane DERACO
a28c18a70a Fix typo
Closes gh-3821
2015-08-25 15:22:54 +02:00
Stephane Nicoll
efd1f6094a Merge branch '1.2.x' 2015-08-25 15:22:24 +02:00
Stephane Nicoll
6393569d42 Polish Externalized Configuration section
Closes gh-3823
2015-08-25 15:22:02 +02:00
Stephane Nicoll
63d157bb7c Favor JSR-107 provider if present
Previously, native cache libraries were favored over a standard JSR-107
implementation. If a user has a working setup using JCache with one
provider and switch to another provider, his setup may be broken if we
happen to provide a native support for the new provider.

We now consistently favor JSR-107 if it is present. Native support can
still be enabled via the `spring.cache.type` property.

Closes gh-3822
2015-08-25 15:07:24 +02:00
Dave Syer
2583f8050a Enable Tomcat RemoteIpValve by default
Fixes gh-3782
2015-08-21 09:26:05 +01:00
Stephane Nicoll
35875c7f08 Merge manual item meta-data
Previously, manual meta-data were added to the existing set of entries
which could lead to duplicates if a manual entry is meant to complement
a property that is detected via the processor.

We now match the name and type of the item against the auto-detected
entries. If no match is found, we add the extra entry as we did before.
If a match is found we override the description, default value and
deprecation information.

Closes gh-3562
2015-08-20 17:08:54 +02:00
Matt MacAulay
0d2f644c50 Fix link to exec maven plugin
Closes gh-3793
2015-08-20 14:24:24 +02:00
Stephane Nicoll
7c0c953f81 Add value alias for SpringApplicationConfiguration
Given that Spring Boot uses java config accross the board, a new `value`
attribute is now aliased to the existing `classes` attribute such that
one could write the following:

@SpringApplicationConfiguration(MyConfig.class)
public class MyTest {}

Closes gh-3635
2015-08-19 17:09:34 +02:00
Stephane Nicoll
35c92348ae Document Velocity view resolver customization
Changing the velocity view resolver to a VelocityLayoutViewResolver seems
a common use case so it has now a dedicated section in the relevant how
to.

Closes gh-3732
2015-08-19 14:32:31 +02:00
Stephane Nicoll
3c91781bee Add additional exclude property
The default value of `spring.devtools.restart.exclude` is quite long and
any override requires to copy/paste it to add additional exclusions. To
avoid that, a new `spring.devtools.restart.additional-exclude` property
has been added.

Both properties are now used to compute the full list of exclusions that
is used by PatternClassPathRestartStrategy.

Closes gh-3774
2015-08-19 14:08:05 +02:00
Josh Thornhill
c13622ea29 Fix typo
Closes gh-3721
2015-08-15 17:55:53 +02:00
Max Bruchmann
750b354341 Fix table layout
Closes gh-3752
2015-08-15 17:35:08 +02:00
Stephane Nicoll
d1a4d6958a Document spring.datasource.name
The `spring.datasource.name` property was hidden behind the 'name'
attribute of the Tomcat connection pool (since we are mapping all
datasource implementations on the `spring.datasource` namespace.

This commit replace the injected value by hand with the use of the
regular `DataSourceProperties`. That way, we generate proper meta-data
for it as well.

Closes gh-3755
2015-08-14 14:07:38 +02:00
Stephane Nicoll
2d62e1fc89 Add a property to configure the connection pool
A new `spring.datasource.type` property can now be used to configure the
connection pool implementation to use (rather than only relying on Boot's
preferences).

Closes gh-3705
2015-08-14 13:30:14 +02:00
Stephane Nicoll
e4b81b173c Polish 2015-08-14 13:21:15 +02:00
Stephane Nicoll
960d6eadba Spring Boot starter section
Improve the documentation to explain the necessary steps to create a
custom Spring Boot starter. In particular, provide more details regarding
naming conventions.

Closes gh-2537
See gh-2927
2015-08-14 10:51:38 +02:00
Stephane Nicoll
4e0f99ed8b Polish
Closes gh-3750
2015-08-14 09:24:24 +02:00
Eddú Meléndez
74e1a1c940 Add fallbackToSystemLocale configuration key
Allow to configure the `fallbackToSystemLocale` attribute of
`MessageSource` via configuration.

Closes gh-3749
2015-08-14 09:09:40 +02:00
Andy Wilkinson
51dd806a98 Detect ConfigurableWebBindingInitializer bean and register with MVC
Previously, to use a custom ConfigurableWebBindingInitializer, it was
necessary to extend WebMvcConfigurationSupport and override
getConfigurableWebBindingInitializer. This had the unwanted
side-effect of switching off the auto-configuration of Spring MVC.

This commit updates the auto-configuration to look for a
ConfigurableWebBindingInitializer bean and register it with Spring
MVC.

Closes gh-2526
2015-08-13 15:20:59 +01:00
izeye
eab7eff047 Polish documentation
Closes gh-3738
2015-08-13 12:58:53 +01:00
Stephane Nicoll
9d2d34216b Remove references to endpoints.hal
See gh-3696
2015-08-11 09:14:40 +02:00
Andy Wilkinson
2ae8a021f9 Merge branch '1.2.x' 2015-08-10 16:59:04 +01:00
Andy Wilkinson
a2f4c1cc4a Add support for configuring allowSessionOverride via the environment
This commit adds support for using the environment to configure the
Freemarker and Velocity view resolvers to allow session overrides.

Closes gh-3410
2015-08-10 16:58:17 +01:00
Dave Syer
68af0a73ec Clarify documentation in a few areas
Fixes gh-3527
2015-08-10 11:50:48 +01:00
Andy Wilkinson
58db5a3889 Combine /links and /hal into a single /actuator endpoint
This commit provides a single endpoint, /actuator, that serves HTML
(the HAL browser) or JSON depending on the request’s accept header
that enables discovery of all of the actuator’s other endpoints.

When the management context path is configured, the /actuator endpoint
moves to the configured path, e.g. if the management context path is
set to /management, the actuator endpoint will be available from
/management.

Closes gh-3696
2015-08-10 11:40:35 +01:00
Stephane Nicoll
3507451c9a Merge branch '1.2.x' 2015-08-07 16:03:47 +02:00
Stephane Nicoll
f88d548de0 Fix typo
Closes gh-3700
2015-08-07 16:03:25 +02:00
Stephane Nicoll
95dac0bbec Polish documentation
Improve the documentation on using two entity managers if Spring Data is
used.

Closes gh-3433
2015-08-07 10:13:34 +02:00
Stephane Nicoll
bae3dcba33 Polish error pages documentation
Make it more clear that the `ErrorPage` path requires an URL mapping to
be registered.

Closes gh-3698
2015-08-07 10:05:02 +02:00
Andy Wilkinson
1a11ed20ba Provide a property to configure conversion word used to log exceptions
This commit adds a new property, logging.exception-conversion-word,
that can be used to configure the conversion word that is used when
logging exceptions. The default value, %rEx, will log exceptions
with the root cause first and include class packaging information in
the stack trace. The new property is supported when using either
Logback or Log4J2.

Closes gh-3684
2015-08-06 11:37:54 +01:00
Stephane Nicoll
67d29c13f5 Fix typo 2015-08-06 11:52:51 +02:00
Stephane Nicoll
e88c58828f Polish documentation
Upgrade documentation for the `hal` and `links` endpoints as they are
not using the root anymore.

Closes gh-3621
2015-08-06 11:13:53 +02:00
Stephane Nicoll
89c3d2ea12 Improve MongoDB documentation
Explicitly mention that `spring.data.mongodb.uri` can be used to
customize additional settings such as replica set.

Closes gh-2624
2015-08-05 15:06:12 +02:00
Stephane Nicoll
6c7a5c5077 Harmonize Undertow's access log properties
Harmonize the configuration properties for Undertow to match the changes
made for gh-2491.

Move `spring.undertow.accessLog*` to `spring.undertow.accesslog.*`
2015-08-05 14:34:48 +02:00
Stephane Nicoll
62406546e2 Improve customization of Tomcat's access log
Add `directory`, `prefix` and `suffix` properties to further customize
how access logs are configured on Tomcat. Relocate all properties to the
`server.tomcat.accesslog` namespace.

`server.tomcat.accessLogPattern` and `server.tomcat.accessLogEnabled` are
deprecated and replaced by `server.tomcat.accesslog.pattern` and
`server.tomcat.accesslog.enabled` respectively.

Closes gh-2491
2015-08-05 14:34:48 +02:00
Andy Wilkinson
4a25bae143 Allow additional paths that trigger a reload/restart to be configured
Previously, only folders on the classpath would be watched and used
to trigger a restart/reload of the application. This commit adds a
new property spring.devtools.restart.additional-paths that can be
used to configure additional paths that should be watched for
changes. When a change occurs in one of those paths a restart or
reload will be triggered, depending on the full restart exclude
patterns configured via the existing spring.devtools.restart.exclude
property.

Closes gh-3469
2015-08-05 12:43:09 +01:00
Andy Wilkinson
2a5a32b603 Add auto-configuration for H2’s web console
Three conditions must be met for the console to be enabled:

 - H2 is on the classpath
 - The application is a web application
 - spring.h2.console.enabled is set to true

If spring-boot-devtools is on the classpath, spring.h2.console.enabled
will be set to true automatically. Without the dev tools, the enabled
property will have to be set to true in application.properties.

By default, the console is available at /h2-console. This can be
configured via the spring.h2.console.path property. The value of this
property must begin with a '/'.

When Spring Security is on the classpath the console will be secured
based on the user's security.* configuration. When the console is
secured, CSRF protection is disabled and frame options is set to
SAMEORIGIN for its path. Both settings are required in order for the
console to function.

Closes gh-766
2015-08-05 10:54:03 +01:00
Stephane Nicoll
6da6f430eb Refined policy on naming Spring Boot starters
See gh-2040
2015-08-05 04:03:38 +02:00
Stephane Nicoll
f39e8a25cf Document usage of devtools with build plugins
The `bootRun` gradle task or `spring-boot:run` maven goal can be used to
start a Spring Boot app with DevTools as long as forking is enabled. Add
an explicit note in the documentation to mention that.

Closes gh-3315
2015-08-04 17:42:53 +02:00
Stephane Nicoll
bc3c1ebc49 Polish devtools declaration documentation 2015-08-04 17:36:56 +02:00
Stephane Nicoll
7669e888cb Polish
Closes gh-3649
2015-08-04 15:11:11 +02:00
Stephane Nicoll
bfe930a873 Auto-configure @EnableConfigurationProperties
Add an auto-configuration that avoid a Spring Boot user to add
`@EnableConfigurationProperties` to its configuration to benefit from
that feature.

As our own auto-configurations are tested independently, such annotation
is still present to avoid a useless reference to this new
auto-configuration.

Closes gh-2457
2015-08-04 13:59:57 +02:00
izeye
e0ee7c7ffb Polish documentation for actuator-docs
Closes gh-3564
2015-08-04 10:01:28 +01:00
Rob Winch
91b2c3aee5 Document how to override a dependency version when using Gradle
Closes gh-3651
2015-08-04 09:53:14 +01:00
Stephane Nicoll
eb5d92f3f0 Exclude auto-configurations via property
Add `spring.autoconfigure.exclude` to control the list of
auto-configuration classes to exclude via configuration. Merge the
exclusions defined on the `@EnableAutoConfiguration` or
`@SpringBooApplication` if any.

Closes gh-2435
2015-08-04 10:50:49 +02:00
Phillip Webb
891dd5a0f6 Polish 2015-08-03 11:03:48 -07:00
Stephane Nicoll
051dd4da98 Add missing health indicators in docs 2015-08-03 14:45:04 +02:00
Stephane Nicoll
42253ea8bc Polish 2015-08-03 14:44:41 +02:00
Stephane Nicoll
b569918db1 Add property to disable default health indicators
Add a "management.health.defaults.enabled" property that controls whether
the default health indicators are enabled. This allow to disable them all
by default and still enable individual ones using their respective
specific property.

Closes gh-2298
2015-08-03 14:26:12 +02:00
Stephane Nicoll
b17809b4e7 Add missing metrics export keys 2015-08-03 10:18:41 +02:00
Stephane Nicoll
c0500d6d62 Add documentation for Hypermedia endpoints 2015-08-03 09:34:29 +02:00
Stephane Nicoll
a4e5ee0b32 Fix typo 2015-08-02 10:04:50 +02:00
Stephane Nicoll
96fc107ca1 Customize Thymeleaf default template resolver order
Currently, the default TemplateResolver had no specific order. Thymeleaf
handles that with a "always first" strategy (that can be confusing if
several TemplateResolver have a "null" order.

While it is a fine default (and changing it could lead to weird side
effects), it has to be changed as soon as another TemplateResolver bean
is defined in the project.

The `spring.thymeleaf.template-resolver-order` property has been added to
control  the order of the default TemplateResolver.

Closes gh-3575
2015-07-28 14:28:31 +02:00
izeye
ee6fc8d917 Fix typos
Closes gh-3608
2015-07-28 08:54:47 +02:00
Stephane Nicoll
92871ea03e Polish
See gh-3600
2015-07-27 15:15:38 +02:00
Stephane Nicoll
d6e914be87 Add auto-startup configuration property
Allow to disable the auto-startup flag of the default JMS and RabbitMQ
containers. This effectively permit to disable automatic listening via
configuration.

Closes gh-3587
2015-07-24 06:49:27 +02:00
Andy Wilkinson
c0c98b0284 Merge branch '1.2.x' 2015-07-23 12:07:06 +01:00
Andy Wilkinson
6d3660531b Don't set text color of <code> elements when they're beneath an <a>
Closes gh-3583
2015-07-23 12:06:02 +01:00
Andy Wilkinson
24c63c9b55 Adopt RepositoryRestConfigurer and discourage subclassing
A RepositoryRestMvcConfiguration subclass provided by a user is
problematic in a Spring Boot application as it causes
RepositoryRestMvcConfiguration's bean declarations to be processed
before any auto-configuration runs.

One problem that this causes is that it switches off Boot's Jackson
auto-configuration due to RepositoryRestMvcConfiguration having
already declared multiple ObjectMapper beans. Unlike Boot's
auto-configured ObjectMapper, none of these ObjectMappers are marked
as @Primary. This then leads to wiring failures due to multiple
candidates being available.

To address this problem a new RepositoryRestConfigurer abstract has been
introduced in Spring Data Gosling. Its use is now strongly preferred
over subclassing RepositoryRestMvcConfiguration. Note that our own
RepositoryRestMvcConfiguration subclass remains. It is imported as part
of auto-configuration (avoiding the ordering problems described above),
and provides configuration properties binding for
RepositoryRestConfiguration. However, the Jackson ObjectMapper
configuration has been moved out into a new RepositoryRestConfigurer
implementation.

While SpringBootRepositoryRestMvcConfiguration remains, this commit
makes it package private to discourage users from subclassing it. While
this may break existing applications, it, coupled with the documentation
updates, will hopefully guide them toward using
RepositoryRestConfigurer.

Closes gh-3439
2015-07-23 11:58:21 +01:00
Stephane Nicoll
34891c27de Polish
Closes gh-3566
2015-07-23 11:53:52 +02:00
drumonii
fbf6574b51 Document validation of nested components
See gh-3566
2015-07-23 11:53:06 +02:00
Lucas Saldanha
bf303b02f7 Add configuration properties validation sample
Create a new project sample that demonstrate the usage of
@ConfigurationProperties with configurationPropertiesValidator.

Fixes gh-3513
2015-07-23 11:42:55 +02:00
Andy Wilkinson
8673250955 Make use of Gradle's application plugin optional when using Boot plugin
Previously, the Spring Boot Gradle plugin would always apply the
application plugin to a project. It then piggy-backed on the application
plugin’s mainClassName and applicationDefaultJvmArgs properties for the
configuration of the bootRun task.

This commit updates the Spring Boot Gradle plugin so that it no longer
applies the application plugin. If the user applies the application
plugin then its configuration will be used, but it’s a no longer
requirement.

Users who do not need the application plugin, but who were using the
mainClassName or applicationDefaultJvmArgs properties will need to
change their builds as a result of this change as those properties will
no longer exist. As before, the mainClassName can be configured on the
springBoot extension:

springBoot {
	mainClassName 'com.example.YourApplication'
}

The applicationDefaultJvmArgs property can be used, but it must now be
declared with the project's ext block. For example:

ext {
	applicationDefaultJvmArgs = [ '-Dcom.example.property=true' ]
}

Closes gh-2679
2015-07-22 11:38:15 +01:00
Phillip Webb
6f6f898739 Polish 2015-07-20 10:22:10 -07:00
Stephane Nicoll
6333786819 Fix wrong default value 2015-07-20 15:42:46 +02:00
izeye
672281c214 Polish docs
Closes gh-3561
2015-07-20 15:40:44 +02:00
izeye
31d8a647d0 Fix typos
Closes gh-3531
2015-07-17 09:08:47 +02:00
Stephane Nicoll
03abd20542 Polish
Add missing default value
2015-07-17 09:07:08 +02:00
Phillip Webb
08d1f6daf5 Allow persistent servlet sessions across restarts
Update Tomcat, Jetty and Undertow to serialize session data when the
application is stopped and load it again when the application restarts.

Persistent session are opt-in; either by setting `persistentSession`
on the ConfigurableEmbeddedServletContainer or by using the property
`server.session.persistent=true`.

Fixes gh-2490
2015-07-16 17:29:20 -07:00
Phillip Webb
728e64b929 Polish 2015-07-16 12:56:49 -07:00
Sebastien Deleuze
4405ae4eaf Add CORS documentation
Closes gh-3052
2015-07-16 17:41:54 +01:00
Andy Wilkinson
9f9f21207f Document support for comma-separated list of names in <springProfile>
See gh-3493
2015-07-16 17:34:11 +01:00
Andy Wilkinson
352ff4e899 Rename Embedded Mongo configuration prefix to spring.mongodb.embedded
Previously, the prefix was spring.embedded-mongodb. This was
inconsistent with the prefixes for Artermis and HornetQ which are
spring.artemis.embedded and spring.hornetq.embedded respectively.

See gh-2002
2015-07-16 17:04:15 +01:00
Andy Wilkinson
f9ab189262 Correct the link to Embedded Mongo in the reference documentation 2015-07-16 17:04:14 +01:00
Stephane Nicoll
d9939a5be2 Map FATAL level for Log4j
Make sure that Boot's FATAL level is mapped to log4j and log4j2 properly.

Fixes gh-3518
2015-07-16 17:59:04 +02:00
Andy Wilkinson
2c81907d58 Flesh out and polish Embedded MongoDB auto-configuration contribution
Embedded MongoDB is now auto-configured when it is on the classpath.
The Mongo instance will listen on the port specified by the
spring.data.mongodb.port property. If this property has a value of
zero and randomly allocated port will be used. In such an event, the
MongoClient created by MongoAutoConfiguration will be automatically
configured to use the port that was allocated.

By default, MongoDB 2.6.10 will be used. This can be configured using
the spring.embedded-mongodb.version property. Mongo's sync delay
feature is enabled by default. This can be configured using the
spring.embedded-mongobd.features property.

Closes gh-2002
2015-07-16 16:34:18 +01:00
Stephane Nicoll
4aace564a2 Fix typo
Closes gh-3519
2015-07-16 15:28:24 +02:00
Stephane Nicoll
aa483984c5 Polish 1683d8a8
Closes gh-3475
2015-07-16 15:22:38 +02:00
Stephane Nicoll
22a7b0cdee Customize default JmsListenerFactory
Expose acknowledgment mode and concurrency settings in configuration for
 the default `JmsListenerContainerFactory`

 Closes gh-3519
2015-07-16 14:39:48 +02:00
Stephane Nicoll
256ebe09ed Fix broken build 2015-07-16 10:05:20 +02:00
Stephane Nicoll
6ace7e53ed Clarify doc
Add an explicit note about the need of Spring MVC for actuator HTTP
endpoints. Also explicitly mention Jersey since it can be a source of
confusion.

See gh-2025
2015-07-16 09:04:17 +02:00
Stephane Nicoll
a9737c016c Review doc
Replace server.tomcat.compression example as Boot does no longer define
that property
2015-07-15 17:56:58 +02:00
Stephane Nicoll
f75333dce2 Improve doc 2015-07-15 16:00:54 +02:00
izeye
f4589e7cc3 Fix typos
Closes gh-3504
2015-07-15 15:45:02 +02:00
Stephane Nicoll
f2d32d3e98 Add support for property deprecation
Previously, an item could only have a 'deprecated' boolean flag to
indicate that the property is deprecated. It is desirable to provide an
additional description for the deprecation as well as the name of the
property to use instead.

The `deprecated` boolean flag is now supported. Instead, a `deprecated`
object can be specified with two optional attributes: `reason` to provide
an explanation for the deprecation and `replacement` to refer to the
property that should be used instead. If none of them is present, an
empty deprecation object should be set.

For backward compatibility, the `deprecated` field is still set.

Deprecation information can only set via manual meta-data.

Closes gh-3449
2015-07-15 15:41:52 +02:00
Andy Wilkinson
b1e9139efe Allow Jackson’s time zone to be configured via the environment
This commit adds a new property, spring.jackson.time-zone, that can be
used to configure the time zone that Jackson uses when configuring
dates. It affects the serialisation of both JDK and Joda date types.

Closes gh-3505
2015-07-15 14:34:58 +01:00
Phillip Webb
f0f5f78e25 Polish 2015-07-14 22:17:52 -07:00
Andy Wilkinson
8493755178 Configure CLI with repositories from active profiles in settings.xml
This commit enhances the CLI to use the repositories configured in the
profiles declared in a user's Maven settings.xml file during
dependency resolution. A profile must be active for its repositories
to be used.

Closes gh-2703
Closes gh-3483
2015-07-14 12:30:18 +01:00
Dave Syer
bfa816f2a3 Maintain classpath order in PropertiesLauncher
I think this is safe, judging by the integration tests, but I'm not
putting it in 1.2.x until we've had some feedback on it. The
integration tests actually had a bug that was masking this problem
because they were merging Properties from the whole classpath instead
of picking the first available resource (which is generally what
we do in Spring Boot applications for application.properties for
instance).

Fixes gh-3048
2015-07-14 10:22:36 +01:00
Stephane Nicoll
7ba7693e65 Polish doc
See gh-3457
2015-07-13 13:48:13 +02:00
Stephane Nicoll
cb5eccb5c1 Add missing handle-as meta-data
Liquibase has a `changeLog` property that is definitely used as a
`Resource` but cannot be defined as such as the original String value
should be kept against an API we don't control.

Update the tests also to make it more clear that if hints are added
against a property that is detected automatically, said property still
keeps all its auto-discovered capabilities.

Closes gh-3457
2015-07-13 13:45:23 +02:00
Andrew Landsverk
85621a34fb Fix typo in devtools doc
Closes gh-3463
2015-07-13 10:42:51 +01:00
Stephane Nicoll
3664895f04 Polish 2015-07-12 09:20:12 +02:00
Ivan Sopov
5f25080091 Add HTTP compression excludeUserAgents property
Closes gh-3363
2015-07-10 16:31:55 -07:00
Rob Baily
177ea459f1 Support log pattern properties with logback
Update AbstractLoggingSystem to pass LoggingInitializationContext to
loadDefaults() method to enable access to the environment.
DefaultLogbackConfiguration now uses this to find log pattern overrides.

Fixes gh-3367
Closes gh-3405
2015-07-10 15:23:46 -07:00
Melvin Kicchi
3d83c6fcb2 Fix typo in jOOQ example code
Closes gh-3461
2015-07-10 13:54:00 -07:00
Stephane Nicoll
1ce418cfdc Fix meta-data for logging.level property 2015-07-10 18:12:24 +02:00
Stephane Nicoll
8ff8afec7c Add "handle-as" hint provider
Replace the enum provider by a more general purpose provider that can
substitute the type of the property for the purpose of auto-completing
the values.

"handle-as" can be used for enums but for any type that the IDE
understands such as locale, charset, mime-type and Spring's resource
abstraction.

Closes gh-3457
2015-07-10 14:28:11 +02:00