Commit Graph

975 Commits

Author SHA1 Message Date
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
Phillip Webb eeb947b382 Polish docs 2015-07-09 12:56:03 -07:00
Stephane Nicoll c5ae68a1ec Clarify enum provider purpose 2015-07-09 14:38:48 +02:00
Stephane Nicoll f34508ff8a Remove outdated key
The `spring.metrics.export.redis.aggregate-key-pattern` is no longer
defined but was still referenced in the documentation.
2015-07-09 10:46:05 +02:00
Stephane Nicoll 8cb6f7bcb8 Polish
See  gh-3372
2015-07-09 09:43:20 +02:00
Stephane Nicoll 5024c0f8a1 Polish
Add documentation for server.session.cookie keys

See gh-3240
2015-07-09 09:21:33 +02:00
Phillip Webb 2a20994833 Document static-resources configuration property
Add `spring.resources.static-locations` to the reference documentation
appendix.

Fixes gh-3372
2015-07-08 23:39:11 -07:00
Phillip Webb 582239b03b Add ApplicationArguments and ApplicationRunner
Add ApplicationArguments interface which allows SpringApplication.run
arguments to be injected into any bean. The interface provides access
to both the raw String[] arguments and also provides some convenience
methods to access the parsed 'option' and 'non-option' arguments.

A new ApplicationRunner interface has also been added which is
similar to the existing CommandLineRunner.

Fixes gh-1990
2015-07-08 23:27:13 -07:00
Phillip Webb 3588ca8637 Add session configuration properties
Add support for the following server properties which can be used to
configure the session:

	server.session.tracking-modes
	server.session.cookie.name
	server.session.cookie.domain
	server.session.cookie.path
	server.session.cookie.comment
	server.session.cookie.http-only
	server.session.cookie.secure
	server.session.cookie.max-age

In addition `server.session-timeout` is now deprecated and has been
replaced with `server.session.timeout`.

Fixes gh-3240
2015-07-08 14:10:06 -07:00
Stephane Nicoll a073a505ae Move spring.oauth2.* to security.oauth2.*
Unfortunately, we have no other choice to flip the ignoreUnknownFields
attribute of `SecurityProperties` has many different target are now set
for that namespace outside the class. See gh-3445 for a potential way
to improve that.

Closes gh-3327
2015-07-08 18:26:25 +02:00
Phillip Webb a087dbc9c3 Add flyway and liquibase endpoint documentation
See gh-3434
2015-07-07 18:58:25 -07:00
Phillip Webb e885dab752 Polish 2015-07-07 15:17:03 -07:00
Stephane Nicoll 406d4ea771 Polish 2015-07-07 17:19:00 +02:00
Stephane Nicoll 4602558a73 Polish AMQP doc
Closes gh-3431
2015-07-07 17:14:20 +02:00
Lucas Saldanha 0ce7be4413 Add AMQP section to the documetation
Closes gh-3348
2015-07-07 16:31:20 +02:00
izeye 8c9f7247d9 Fix deployment title section
Closes gh-3429
2015-07-07 04:53:21 +02:00
Marten Deinum a3e62676af Extend TemplateViewResolverProperties for Groovy
Use AbstractTemplateViewResolverProperties as the base class for
GroovyTemplateProperties since the Spring GroovyMarkupViewResolver is
an AbstractTemplateViewResolver.

The auto-configuration for Groovy is now more aligned with the existing
Freemarker and Velocity auto-configuration, with a `resourceLoaderPath`
property being used instead of `prefix`.

Fixes gh-3365
Closes gh-3374
2015-07-06 14:45:28 -07:00
Phillip Webb 0cf6efca4f Polish 2015-07-06 13:05:09 -07:00
Stephane Nicoll afd357f45a Reduce ConfigFileApplicationListener logs
Previously, all attempts to log a configuration file were logged at DEBUG
level which lead to a lot of noise as Spring Boot looks in many places by
default.

We now only log the files that are effectively found at DEBUG level and
all failed attempts at TRACE level.

Closes gh-3129
2015-07-06 18:05:36 +02:00
Stephane Nicoll eb10275f5a Polish
Polish 383e94c to validate any `JavaMailSenderImpl` and not only the
one that has been created by auto-configuration.

Closes gh-3409
2015-07-06 14:43:37 +02:00
Eddú Meléndez 6f31080f78 Add mail server connection check
If a `JavaMailSenderImpl` is available, check that the underlying mail
server is available on startup. Add a `spring.mail.test-connection`
property to control this behaviour.

Closes gh-3408
2015-07-06 14:43:37 +02:00
Stephane Nicoll 0eada5df86 Merge branch '1.2.x' 2015-07-06 14:01:56 +02:00
Stephane Nicoll 2da1d37e97 Add profile name provider 2015-07-06 11:55:35 +02:00
Stephane Nicoll 2126c7774a Add a note about transactional listeners
Clarify how the default JMS listener container factory is created if none
exists with regards to transactions.

Issue: SPR-3407
2015-07-06 11:03:44 +02:00
Phillip Webb 35379f627a Polish 2015-07-05 22:34:36 -07:00
Phillip Webb e8085016ba Polish Actuator hypermedia support 2015-07-05 22:28:04 -07:00
Dave Syer eb49f4bfec Documentation for default profiles 2015-07-03 15:52:37 +01:00
izeye 631a02b8bc Fix typo
Closes gh-3403
2015-07-02 07:02:54 -07:00
Dave Syer 74e9e0749b Add support for Spring HATEOAS hypermedia in Actuator endpoints
If spring-hateoas is on the classpath and an MvcEndpoint returns a
@ResponseBody it will be extended and wrapped into a Resource with links.
All the existing endpoints that return sensible JSON data can be extended
this way (i.e. not /logfile). The HAL browser will also be added as an
endpoint if available on the classpath. Finally, asciidocs for the
Actuator endpoints are available as a separate jar file, which if
included in an app will also generate a new (HTTP) endpoint.

Fixes gh-1390
2015-07-02 13:26:02 +01:00
Phillip Webb b5c435f8c4 Polish Actuator MVC customization support
See gh-3345
2015-06-30 22:09:38 -07:00
Dave Syer 1e464da248 Refactor the Actuator MVC configuration to allow more customization
There is a new spring.factories entry for
org.springframework.boot.actuate.autoconfigure.EndpointWebMvcConfiguration
which loads extra beans into the MVC config for the Actuator.
If the management context is a child context all the beans go in the
child (except the Spring Security filter still). A big bonus is that
you can add WebConfigurerAdapters to configure static resources etc.
A new component called ManagementContextResolver can be used to
locate the ApplicationContext for the MVC endpoints.

Fixes gh-3345
2015-06-30 09:42:58 +01:00
Matt Benson ae4559eb4f Create spring-boot-antlib module
Create a new spring-boot-antlib module which allows Apache Ant users
to easily create executable jars.

Fixes gh-3339
2015-06-30 00:30:28 -07:00
Phillip Webb 268b7911dd Rename ResourceProperties.Chain.html5AppCache
Rename the `html5AppCache` property from `ResourceProperties.Chain` to
`html-application-cache`.

Fixes gh-3354
2015-06-29 17:14:44 -07:00
Phillip Webb d213cc05d5 Polish 2015-06-29 16:48:59 -07:00
Andy Wilkinson 00d594dcda Replace GzipFilter and Tomcat compression with general purpose approach
Closes gh-3296
2015-06-29 15:58:57 +01:00
Dave Syer 46fbca66a6 Fix typo 'a' -> 'an' 2015-06-29 06:43:25 +01:00
Dave Syer c39b9f7635 Tweak docs on /health endpoint to reflect secure/sensitive
Fixes gh-2816
2015-06-28 22:13:17 +01:00
izeye 4bc7919e04 Polish doc
Closes gh-3344
2015-06-28 06:33:52 -07:00
Stephane Nicoll a6ccb4a6e0 Polish
Polish resource handling chain support. Make sure that the chain is
enabled automatically if at least one strategy is enabled.

See gh-1604
2015-06-28 06:32:07 -07:00
Brian Clozel dd561d15cf Improve Spring Resource Handling support
This commit improves support of the Resource Handling features
introduced in Spring Framework 4.1. Those features add new ways to
resolve and transform static resources in applications.
See [this blog
post](https://spring.io/blog/2014/07/24/spring-framework-4-1-handling-static-web-resources)
for more details.

The `ResourceUrlEncodinFilter` is added for compatible template engines:
Velocity and Thymeleaf. It assists them with rewriting the URLs of
static resources when rendering templates.

New keys are added in the `ResourceProperties` in order to configure
the Resource Handling chain. `ResourceResolvers` and
`ResourceTransformers` are registered accordingly in
`WebMvcAutoConfiguration`.

Here is an example of enabling a `ContentVersionStrategy` on all
static resources, meaning their names will be changed for cache
busting purposes by adding a content hash at the end of the file name.
Like "/js/jquery.js -> /js/jquery-872ca6a9fdda9e2c1516a84cff5c3bc6.js".

```
spring.resources.chain.enabled:true
spring.resources.chain.strategy.content.enabled:true
spring.resources.chain.strategy.content.paths:/**
```

Closes gh-1604
Closes gh-3123
2015-06-28 06:32:07 -07:00
Phillip Webb 4f072f4046 Update logging documentation
Update logging documentation to show the new `-spring` convention and
the Logback extensions.

See gh-1788
See gh-2558
See gh-3338
2015-06-26 15:59:08 -07:00
Phillip Webb 7879743b9f Polish 2015-06-25 12:00:48 -07:00
Stephane Nicoll 0ec9de9137 Add support for value provider
Improve the "hints" section of the metadata so that each hint can provide
the reference to a value provider.

A value provider defines how a tool can discover the potential values of
a property based on the context. The provider is identifed by a name and
may have an arbitrary number of parameters.

Closes gh-3303
2015-06-25 14:58:10 +02:00
Phillip Webb 855e5a8e5f Minor doc polish 2015-06-24 20:42:16 -07:00
Ralph Schaer f5830bf46e Fix type in deployment documentation
Replace use of `link -s` with `ln -s`.

Fixes gh-3320
2015-06-24 20:39:43 -07:00
Matt Benson f2dfb040ab Update documentation to remove 'shaded jar' term
Update documentation section that discusses uber jars since it conflates
the concepts of the uber jar and the shading of dependencies into jars
(which may or may not be true uber jars).

Fixes gh-3321
2015-06-24 20:37:27 -07:00
Phillip Webb 778e3eb091 Polish 2015-06-24 16:15:12 -07:00
Stephane Nicoll bc9321734f Add support for property hint
Create a new section in the meta-data called "hints" where users can
provide hints about a given property. The most basic use case for now
is to provide a list of values that a property can have. Each value may
have a description.

This sample JSON provides a basic example for a property called `foo.mode`
that exposes 3 values: "auto", "basic" and "advanced".

```
 "hints": [
    {
      "id": "foo.mode",
      "values": [
        {
          "value": "auto",
          "description": "Some smart description."
        },
        {
          "name": "basic"
        },
        {
          "name": "advanced"
        }
      ]
    }
]
```

This information can be read by tools (such as IDE) and offer an
auto-completion with the list of values.

Closes gh-2054
2015-06-24 18:53:11 +02:00
Stephane Nicoll af1afeaf48 Merge branch '1.2.x' 2015-06-24 17:20:49 +02:00
Stephane Nicoll 982b81c675 Fix datasource metrics doc
The maximum and minimum number of connections are no metrics so these
are not exposed. Fix the doc that stated the contrary.

Fixes gh-3319
2015-06-24 17:20:31 +02:00
Stephane Nicoll 117d6b0da3 Fix typo 2015-06-24 11:12:42 +02:00
Johannes Stelzer 308a5eaff5 Add /logfile MVC actuator endpoint
Add a `/logfile` endpoint which can be used to fetch the contents of
the log file (if one is being used).

Fixes gh-2137
Closes gh-2294
2015-06-23 17:14:40 -07:00
Geoffrey Chandler d6200389eb Add support for ANSI colored resource banners
Add AnsiPropertySource which allows named ANSI codes to be resolved
and update ResourceBanner to include it.

This commit also deprecates constants defined in AnsiElement and
replaces them with AnsiStyle, AnsiColor and AnsiBackground enums.

Closes gh-2704
2015-06-23 14:31:49 -07:00
cohee016 d948ec5810 Add Freemarker `prefer-file-system-access` support
Add a `spring.freemarker.prefer-file-system-access` property and update
FreeMarkerAutoConfiguration to support it.

Fixes gh-2901
2015-06-23 11:34:02 -07:00
Andrew Landsverk 487ab1a60a Prevent restart when META-INF/maven/** changes
These files are modified by Eclipse for some reason when you change files
like Thymeleaf HTML files. `META-INF/maven/**` has been added to the
default exclusion.

Closes gh-3295
Closes gh-3297
2015-06-23 14:05:25 +02:00
Dave Syer 92a6e3188b Correct Spring Data REST docs 2015-06-23 09:41:28 +01:00
Phillip Webb 0f977ce864 Polish 2015-06-23 00:47:32 -07:00
Tomasz Przybyła becced5f0b Add `spring.pid.fail-on-write-error` support
Update `ApplicationPidFileWriter` to support a 'fail on write error'
properties which allows the user to exit the application if the PID
file cannot be written.

This commit also deprecates `spring.pidfile` in favor of
`spring.pid.file` so that the new property can be added without overlap.

Fixes gh-2764
2015-06-22 23:43:58 -07:00
Phillip Webb 7fd07b6588 Document jOOQ support
Closes gh-2804
2015-06-22 21:20:12 -07:00
Andy Wilkinson d30dd1fa98 Merge branch '1.2.x' 2015-06-22 13:44:42 +01:00
Andy Wilkinson 01ba0f7571 Make RemoteIpValve's protocolHeaderHttpsValue configurable via the env
Closes gh-3289
2015-06-22 13:44:09 +01:00
Stephane Nicoll 347cbb1ca4 Merge branch '1.2.x' 2015-06-22 10:44:37 +02:00
Stephane Nicoll 5f2ffdb9e2 Update SnakeYAML link
Closes gh-3302
2015-06-22 10:44:23 +02:00
Phillip Webb c417e90215 Update executable jar documentation
See gh-3243
2015-06-18 23:11:12 -07:00
Phillip Webb 3e4bbf05cd Document Apache Artemis support
See gh-3154
2015-06-18 21:00:34 -07:00
izeye 436054053c Fix default MBeanServer bean name in doc
Closes gh-3283
2015-06-18 17:46:05 +02:00
Stephane Nicoll b2960a7221 Fix typo 2015-06-18 16:55:59 +02:00
Stephane Nicoll df4e08834b Fix inconsistency in doc
See gh-3280
2015-06-18 16:55:28 +02:00
Andy Wilkinson fd6d61e8b4 Add auto-configuration support for Spring Session
This commit adds support for automatically configuring Spring Session.
In a web application when both Spring Session and Spring Data Redis
are on the classpath, Spring Session's Redis Http Session support
will be auto-configured. The max inactive interval for Redis-backed
sessions can be configured via the environment using the existing
server.session-timeout property.

Closes gh-2318
2015-06-18 14:52:59 +01:00
Eddú Meléndez 58ca6cdc76 Add support for FieldNamingStrategy
Closes gh-3031
Closes gh-3069
2015-06-18 15:44:32 +02:00
Stephane Nicoll be5e30b409 Migrate spring.view properties
Migrate `spring.view.prefix` and `spring.view.suffix` to
`spring.mvc.view.prefix` and `spring.mvc.view.suffix` respectively. The
former properties are still handled in a backward compatible way and are
defined as deprecated in the meta-data.

Closes gh-3250
2015-06-18 13:55:44 +02:00
Stephane Nicoll fd5d6ef303 Polish 2015-06-18 08:52:47 +02:00
Stephane Nicoll b5d49b3099 Expose additional admin features
Improve SpringApplicationAdminMXBean to expose additional information:

* Whether the application uses an embedded container
* The properties exposed by the `Environment`

This allows to know if the application is web-based and the HTTP port
on which it is running.

Closes gh-3067
2015-06-17 11:52:18 +02:00
Stephane Nicoll c177a774a5 Provide seamless support for local.server.port
Previously, the actual HTTP port on which a web application is running on
was only exposed in tests. This commit makes sure to provide that feature
regardless of the environment so that applications can know on which port
they are actually running on.

If there are several containers, each is exposed via the namespace of
their respective application context.

Closes gh-3259
2015-06-17 11:47:05 +02:00
Stephane Nicoll cb98ee25ff Polish
See gh-2900
2015-06-17 09:27:44 +02:00
Sebastien Deleuze 78a7b6ed66 Add async request timeout property
Add a new `spring.mvc.async.request-timeout` property which can be used
to configure AsyncSupportConfigurer.setDefaultTimeout(..).

Fixes gh-2900
Closes gh-3236
2015-06-16 21:00:43 -07:00
Phillip Webb d87f2713af Merge branch '1.2.x' 2015-06-15 11:38:24 -07:00
Artur Mkrtchyan d6e24a15de Update `logging.path` documentation sample
Update appendix example to use the more common `/var/log` folder rather
than `/var/logs`.

Fixes gh-3225
2015-06-15 11:36:03 -07:00
Andy Wilkinson eab599bd38 Merge branch '1.2.x' 2015-06-15 14:25:41 +01:00
Andy Wilkinson 0253f21f2f Update the link to Bitronix's documentation
Closes gh-3207
2015-06-15 14:25:24 +01:00
Stephane Nicoll ac14072dba Fix typo in documentation
See gh-3232
2015-06-15 11:29:38 +02:00
Eddú Meléndez 0682660387 Add documentation for serialization-inclusion
Document `spring.jackson.serialization-inclusion`.

Closes gh-3224
2015-06-15 08:53:26 +02:00
Stephane Nicoll bb4c89592d Merge branch '1.2.x' 2015-06-14 09:36:25 +02:00
Stephane Nicoll 01ba732a73 Consistent use of "=" for property key
Closes gh-3218
2015-06-14 09:36:10 +02:00
izeye 952f34b828 Fix mbean server property
`spring.jmx.server` was incorrectlyt documented as
`spring.jmx.mbean-server` in the documentation.

Closes gh-3211
2015-06-13 18:20:13 +02:00
Stephane Nicoll b384f0360c Use proper product name for Intellij IDEA 2015-06-12 17:08:50 +02:00
Phillip Webb 24fc94461b Polish 2015-06-11 10:44:52 -07:00
Stephane Nicoll 34e4163ebc Improve configuration keys documentation 2015-06-11 11:17:36 +02:00
Stephane Nicoll 982b74a9b0 Fix property duplication 2015-06-11 10:32:06 +02:00
Stephane Nicoll fcb45a4bb7 Polish devtools documentation
See gh-3088
2015-06-11 09:33:09 +02:00
Phillip Webb e687c9456f Fix documentation bookmarks 2015-06-10 23:32:30 -07:00
Phillip Webb 992a56957f Document spring-boot-devtools module
Fixes gh-3088
2015-06-10 22:06:19 -07:00
Phillip Webb ad7ed1dbae Formatting 2015-06-10 11:26:39 -07:00
Stephane Nicoll c1dea3797a Add documentation for SpringApplicationAdminMXBean
Closes gh-3179
2015-06-10 13:46:37 +02:00
Stephane Nicoll 8c8fce5b0f Merge branch '1.2.x'
Conflicts:
	spring-boot-docs/src/main/asciidoc/appendix-application-properties.adoc
2015-06-08 15:18:45 +02:00
Stephane Nicoll 7fc9c2afdf Fix indent 2015-06-08 15:17:05 +02:00
Stephane Nicoll e16f5d03ab Add reference to Mustache to documentation
Closes gh-3121
2015-06-08 15:16:01 +02:00
Stephane Nicoll 20cd6c4b6a Merge branch '1.2.x' 2015-06-07 10:29:27 +02:00
izeye c7103bf2a4 Add missing slash
`endpoints.jolokia.path` requires the path to start with a slash.

Closes gh-2864
2015-06-07 10:29:03 +02:00
John Tims 07a688968d Fix typo
Closes gh-3140
2015-06-06 13:36:15 +02:00
Stephane Nicoll 432c00e857 Polish redis connection timeout support
Closes gh-3142
2015-06-06 13:35:31 +02:00
Phillip Webb 98b6fafe92 Fix broken docbook 2015-06-05 16:31:41 -07:00
Phillip Webb c7677d10ca Polish documentation 2015-06-05 15:58:14 -07:00
izeye 9bac5b6455 Remove invalid parts of docs after refactoring 2015-06-05 17:02:12 +02:00
Dave Syer cc169c5009 Change the way the AggregateMetricReader works to make it easier
for users to get started. It also makes it more flexible if different
aggregation keys are needed depending on the environment. The most
important new feature is the
spring.metrics.export.redis.aggregateKeyPattern configuration, which
fits the *.redis.key and prefix defaults. The aggregate reader uses
a prefix based on the key by default, with a naming convention that
the key starts with "keys.".
2015-06-05 11:54:06 +01:00
Phillip Webb 316b07d3b9 Change the embedded script default to disabled
Update the Maven and Gradle repackage tasks so that the embedded
startup script is no longer included by default. This change is
primarily due to the `cf` command line not currently accepting
the unusual jar format.

Fixes gh-3045
2015-06-04 21:59:27 -07:00
Phillip Webb 683c19ee8b Polish 2015-06-04 12:21:35 -07:00
ceilfors 5fb67af25f Remove spock caveat that was fixed in 1.0
Closes gh-3072
2015-06-04 14:51:14 +02:00
Stephane Nicoll f6115a0713 polish
Closes gh-3110
2015-06-04 14:49:49 +02:00
izeye ee252a3285 Document `spring.metrics.export.*` properties
See gh-3110
2015-06-04 14:49:32 +02:00
Phillip Webb 312471f996 Polish documentation 2015-06-04 01:09:59 -07:00
Stephane Nicoll fca192fa41 Add spring-boot-starter-cache
Closes gh-3098
2015-06-03 17:29:57 +02:00
Stephane Nicoll 328e07ebf3 polish mail jndi support
Closes gh-2419
2015-06-02 15:04:35 +02:00
Eddú Meléndez 28cb13c31d Add mail jndi support
See gh-2419
2015-06-02 15:04:06 +02:00
Josh Thornhill 10f7031e46 Fix typo in documentation
Closes gh-3077
2015-06-02 11:50:49 +02:00
Stephane Nicoll fbfdbce266 Add cache documentation
See gh-2633
2015-06-02 11:25:24 +02:00
Josh Thornhill f721862d6f Fix typo in documentation
Closes gh-3077
2015-06-02 09:34:54 +02:00