Commit Graph

245 Commits

Author SHA1 Message Date
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 7669e888cb Polish
Closes gh-3649
2015-08-04 15:11:11 +02:00
izeye e0ee7c7ffb Polish documentation for actuator-docs
Closes gh-3564
2015-08-04 10:01:28 +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
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
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
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
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 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
izeye f4589e7cc3 Fix typos
Closes gh-3504
2015-07-15 15:45:02 +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
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
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 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
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
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
izeye 631a02b8bc Fix typo
Closes gh-3403
2015-07-02 07:02:54 -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
Andy Wilkinson 00d594dcda Replace GzipFilter and Tomcat compression with general purpose approach
Closes gh-3296
2015-06-29 15:58:57 +01: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
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
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
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