Commit Graph

900 Commits

Author SHA1 Message Date
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