Commit Graph

1036 Commits (30791599a5c61e7d9e85607ba24587a4a50d2d4d)

Author SHA1 Message Date
Andy Wilkinson 0061e84a59 Document DevTools' requirement for shutdown hook to be registered
Closes gh-4153
9 years ago
Vedran Pavic 59d2ae598b Update documentation to clarify systemd service user
Closes gh-4293
9 years ago
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.
9 years ago
Johnny Lim e477598cc6 Fix broken links
Closes gh-4272
9 years ago
Stephane Nicoll c0b8974bc0 Merge branch '1.2.x' 9 years ago
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
9 years ago
Stephane Nicoll f43817dd27 Fix broken link
Closes gh-4268
9 years ago
Stephane Nicoll c086a6a7ff Polish doc 9 years ago
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
9 years ago
Stephane Nicoll cc3b7ca6f6 Add missing configuration keys for groovy template 9 years ago
Stephane Nicoll eb2650976f Fix typo 9 years ago
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
9 years ago
Stephane Nicoll bc0eb996ff Polish contribution
Closes gh-4202
9 years ago
Johnny Lim 330073ed17 Fix broken link
Closes gh-4243
9 years ago
zhanhb 299d0653ed Fix default value of MongoDB port in doc
Closes gh-4212
9 years ago
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
9 years ago
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
9 years ago
Marco Vermeulen 673bde0bf7 Update all GVM references to SDKMAN!
Closes gh-4225
9 years ago
Spring Buildmaster 2b38a861e3 Next Development Version 9 years ago
Andy Wilkinson f8cffd745c Merge branch '1.2.x' 9 years ago
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/
9 years ago
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
9 years ago
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
9 years ago
Phillip Webb 143536f72d Polish 9 years ago
Stephane Nicoll 4fca78a9fc Clarify debug mode
Closes gh-3853
9 years ago
Stephane Nicoll 0785357a8b Add a note related to StatsdMetricWriter dependency
Closes gh-3862
9 years ago
Stephane Nicoll 85d6b499a2 Add a note that CRaSH requires a JDK
Closes gh-3813
9 years ago
Stephane Nicoll 496744486c Add links to sample auto-configuration classes
Closes gh-3767
9 years ago
Stephane Nicoll 69581f90da Clarify MainClass option of the bootRepackage task
Closes gh-2477
9 years ago
Stephane Nicoll 06c78a41cd Document that ConfigurationProperties can't use SpEL
Closes gh-1768
9 years ago
Stephane Nicoll cca153e986 Document how to return custom JSON on errors
Closes gh-3999
9 years ago
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
9 years ago
Phillip Webb e2fc30ef24 Polish 9 years ago
Phillip Webb ab7bec1160 Update clarify of bean conditions
See gh-4104
9 years ago
Stephane Nicoll a7bdef61de Clarify usage of `@ConditionalOn[Missing]Bean`
Closes gh-4104
9 years ago
Stephane Nicoll 9d3858caff Update health endpoint documentation
Closes gh-4157
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
Andy Wilkinson a899058ac3 Add a tip to the docs about using DB_CLOSE_ON_EXIT=false with H2
Closes gh-4135
9 years ago
Andy Wilkinson 8ee8c9fe90 Merge branch '1.2.x' 9 years ago
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
9 years ago
Stephane Nicoll ce544e8131 Add a reference to Windows service sample
Closes gh-3829
9 years ago
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
9 years ago
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
9 years ago
Andy Wilkinson 97c8749528 Update configuration metadata for show-banner and banner-mode changes
Closes gh-4001
9 years ago
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
9 years ago
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
9 years ago
“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
9 years ago
r11runner 586f525a6b Fix typos
Closes gh-4093
9 years ago
Andy Wilkinson 2292cff1ea Document the need to use spring.data.mongodb.uri with Mongo 3.0
Closes gh-4051
9 years ago
Andy Wilkinson bee7d24c1a Provide an example of using a .conf file with a truly executable jar
Closes gh-3522
9 years ago
Ray Sinnema 5dc2290608 Fix typos
Closes gh-4083
9 years ago
Phillip Webb c3b7764b72 Polish 9 years ago
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
9 years ago
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
9 years ago
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.
9 years ago
Stephane Nicoll b2c3e7e2ed Rename error.* properties to server.error.*
Closes gh-4050
9 years ago
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
9 years ago
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
9 years ago
Phillip Webb d4c2959cee Document X-Forwarded-For support
Closes gh-4018
9 years ago
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
9 years ago
izeye 5b211706c0 Polish
Closes gh-4069
9 years ago
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
9 years ago
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
9 years ago
Stephane Nicoll b14756a7bb Improve git commit information for Gradle
Closes gh-3949
9 years ago
zhanhb b855a68bf4 Fix typo
Closes gh-4054
9 years ago
Andy Wilkinson 2440e05cc4 Document startup script's support for JAVA_OPTS
Closes gh-3808
9 years ago
Andy Wilkinson a23d11fe6c Update appendix with details of new Spring HATEOAS property
Follow-on from c55900b4.

Closes gh-3891
9 years ago
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
9 years ago
Phillip Webb c73ffdd5a6 Fix javadoc import issues 9 years ago
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
9 years ago
Phillip Webb 49fab4a60f Fix broken documentation link 9 years ago
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
9 years ago
Fabricio Colombo 605eb8a14d Add Liquibase labels and parameters properties
Update `LiquibaseAutoConfiguration` and `LiquibaseProperties` to add
support for labels and parameters.

Closes gh-3915
9 years ago
Spring Buildmaster 9409c49c10 Next development version 9 years ago
Stephane Nicoll 77eec2e0aa Fix typo
Closes gh-3941
9 years ago
izeye 1f91c342e1 Polish doc
Closes gh-3933
9 years ago
Phillip Webb 026c3019df Polish 9 years ago
Stephane Nicoll ac582709e7 Clarify doc
Closes gh-3858
9 years ago
izeye 99a14c3f58 Fix a broken link in the doc
Closes gh-3917
9 years ago
Phillip Webb 899537deb0 Use dashed property form in documentation 9 years ago
Phillip Webb 6193b640a4 Polish 9 years ago
Tommy Ludwig 4a27ea563a Add link to Hazelcast documentation
Closes gh-3866
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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.
9 years ago
Stéphane DERACO a28c18a70a Fix typo
Closes gh-3821
9 years ago
Stephane Nicoll efd1f6094a Merge branch '1.2.x' 9 years ago
Stephane Nicoll 6393569d42 Polish Externalized Configuration section
Closes gh-3823
9 years ago
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
9 years ago
Dave Syer 2583f8050a Enable Tomcat RemoteIpValve by default
Fixes gh-3782
9 years ago
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
9 years ago
Matt MacAulay 0d2f644c50 Fix link to exec maven plugin
Closes gh-3793
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago