1656 Commits

Author SHA1 Message Date
Stephane Nicoll
8cb602f2d6 Polish doc
Closes gh-5375
2016-03-11 11:01:29 +01:00
Stephane Nicoll
dddea70985 Collect and display build information
This commit updates the Maven plugin to generate a
`META-INF/boot/build.properties` file with various build-specific
settings (group, artifact, name, version and build time). Additionally,
the plugin can be configured to write an arbitrary number of additional
properties.

A new `BuildProperties` bean is automatically exposed when such a file is
present. If that bean is present, an `InfoContributor` is automatically
created to expose that information under the `build` key.

As for the git contributor, it is possible to only display the core
settings or everything using the `management.info.build.mode` property.

See gh-2559
2016-03-10 17:21:31 +01:00
Stephane Nicoll
58e8e10abb Fix typo
Closes gh-5343
2016-03-09 17:06:19 +01:00
Stephane Nicoll
b906b18655 Initiate GitProperties
This commit polish the new info contributor infrastructure by migrating
`GitInfo` to `GitProperties`. `InfoProperties` provides an abstraction
that exposes unstructured data in an immutable way.

The `GitInfoContributor` now accepts a "mode" that determines if all data
should be exposed or only a sub-set of known keys.

Closes gh-2644
2016-03-09 16:37:44 +01:00
Phillip Webb
b260c20df0 Support JsonSerializer/JsonDeserializer Beans
Add a `@JsonComponent` annotation that can be used to indicate that a
Bean is a JsonSerializer and/or JsonDeserializer that should be
registered with Jackson.

Support is provide via a new `JsonComponentModule` which is
auto-configured in `JacksonAutoConfiguration`.

Also add `JsonObjectSerializer` and `JsonObjectDeserializer` classes
which provided as a convenient base for serializers that work with
Objects.

Fixes gh-3898
2016-03-08 17:33:00 -08:00
Phillip Webb
a3f3de223f Polish 2016-03-08 11:20:41 -08:00
Andy Wilkinson
86d87f6b8a Deprecate support for Velocity
Support for Velocity has been deprecated in Spring Framework 4.3 with
the plan being to remove it in 5.0. This commit deprecates Spring
Boot's support in 1.4, with the plan being to remove it in 2.0.

Closes gh-5276
2016-03-07 13:48:17 +00:00
Andy Wilkinson
bbd7840785 Allow LoggingSystem to be disabled
In certain environments, such as Jetty configured with centralized
logging, Spring Boot's logging system can be problematic.

This commit adds support for using the existing LoggingSystem system
property, configured with a value of none, to disable the logging
system and rely on the standard logging configuration mechanism for
whatever logging framework is in use.

Closes gh-3571
2016-03-07 11:16:26 +00:00
Johnny Lim
122270c990 Polish
Closes gh-5345
2016-03-06 09:21:00 +01:00
Stephane Nicoll
d04155fcae Polish contribution
Closes gh-5303
2016-03-03 18:09:05 +01:00
Gary Russell
c0cb813a01 Add Cache Properties for RabbitMQ
Closes gh-3502
2016-03-03 16:46:08 +01:00
Stephane Nicoll
0490fbc7f8 Polish contribution
`InfoProvider` is now `InfoContributor` and contributes to the `Info`
instance via a builder. The `Info` instance is immutable. Each
contributor can be disabled via the `management.info.<name>.enabled`
key or all can be disabled using `management.info.defaults.enabled` (this
is similar to what the health endpoint does).

By default, all keys from the environment starting with `info.` are
exposed. If a `git.properties` file is present in the classpath, the
content of `GitInfo` is exposed using the `git` key.

A `SimpleInfoContributor` and `AbstractEnvironmentInfoContributor` are
available for convenience. `InfoContributor` instances can be ordered
the usual way, with a default order provided by
`InfoProviderAutoConfiguration#DEFAULT_ORDER`.

Closes gh-3492
2016-03-03 16:23:37 +01:00
Stephane Nicoll
0f820afa86 Auto-configure GitInfo
This commit moves `GitInfo` to a general "project info" area that will be
further improved with others project related information.

Deprecate `spring.git.properties` in favour of `spring.info.git.location`

Closes gh-2484
2016-03-03 14:31:00 +01:00
Johnny Lim
a6c83787ef Polish
Closes gh-5318
2016-03-03 08:33:21 +01:00
Stephane Nicoll
7ceca4d83c Document how to configure a JNDI data source
Closes gh-4023
2016-03-01 11:45:30 +01:00
Stephane Nicoll
813d86e5e0 Auto-configure Rabbit MessageConverter
If a `MessageConverter` bean is available, we now associate it to the
created `RabbitTemplate` and `RabbitListenerContainerFactory`. That way,
registering a custom `MessageConverter` is all that's needed.

The Rabbit auto-configuration is now using the new `ObjectProvider` that
offers a nicer API to detect if a primary candidate is available for
optional collaborators.

Closes gh-5088
2016-02-29 19:32:30 +01:00
Stephane Nicoll
d13b9a98c5 Auto-configure JMS MessageConverter
If a `MessageConverter` bean is available, we now associate it to the
created `JmsTemplate` and `JmsListenerContainerFactory`. That way,
registering a custom `MessageConverter` is all that's needed.

The JMS auto-configuration is now using the new `ObjectProvider` that
offers a nicer API to detect if a primary candidate is available for
optional collaborators.

Closes gh-4282
2016-02-29 17:33:34 +01:00
Stephane Nicoll
d9f4d6ce91 Allow custom CacheResolver
Previously, if a bean of type `CacheResolver` was present in the context
the whole cache auto-configuration would back off. If said
`CacheResolver` hasn't been defined via the `CachingConfigurer`
infrastructure, the application context would fail with a rather
unpleasant error message.

It can be quite common to define custom `CacheResolver` beans as the cache
annotations allow to defines custom cache resolvers per operation. This
commit makes sure that the cache auto-configuration will back-off only if
the `CacheResolver` is named `cacheResolver`.

Closes gh-5201
2016-02-29 15:48:46 +01:00
Stephane Nicoll
6741f05af1 Polish contribution
Closes gh-4903
2016-02-29 14:07:01 +01:00
Eddú Meléndez
98cc68364a Add Caffeine cache support
See gh-4899
2016-02-29 14:07:01 +01:00
Stephane Nicoll
d93b09f497 Polish contribution
Closes gh-5204
2016-02-29 11:42:27 +01:00
Uwe Schaefer
9c3003071b Add CONF_FOLDER property
Closes gh-5203
2016-02-29 11:36:59 +01:00
Phillip Webb
17c9fc585f Polish 2016-02-25 21:32:09 -08:00
Phillip Webb
c93ea54ea3 Merge branch '1.3.x' 2016-02-25 21:26:13 -08:00
Phillip Webb
4fd778fed8 Polish CacheManagerCustomizers 2016-02-25 20:05:16 -08:00
Stephane Nicoll
416b689359 Enable prefix by default on RedisCacheManager
An overhaul of the `RedisCacheManager` is expected in Hopper (to be
consumed by Spring Boot 1.4). One of those changes is to make sure every
key have a decent prefix by default.

This commit enables the use of prefix as it is disabled by default.

Closes gh-5175
2016-02-25 13:51:59 +01:00
Andy Wilkinson
af32d6e8ee Allow LOG_FOLDER and PID_FOLDER defaults to be set at build time
This commit enhances the default launch script to allow the default
values for LOG_FOLDER and PID_FOLDER to be set at build time. They
can now be set using the logFolder and pidFolder properties
respectively.

Closes gh-4787
2016-02-25 12:25:41 +00:00
Stephane Nicoll
0e43f4204f Merge branch '1.3.x' 2016-02-24 14:09:07 +01:00
Stephane Nicoll
5febd497da Support customization of CacheManager
This commit allows to customize the auto-configured `CacheManager` by
exposing a bean of type `CacheManagerCustomizer`. The implementation may
reference the type of a `CacheManager` to determine in which case it has
to be invoked.

Several implementations can be provided and ordered using the regular
`Ordered` interface and `@Order` annotation.

Closes gh-5039
2016-02-24 14:00:38 +01:00
Andy Wilkinson
36cdc81ef4 Merge branch '1.3.x' 2016-02-24 11:39:10 +00:00
Andy Wilkinson
aa17599675 Clarify handling of files specified in spring.config.location
Closes gh-5147
2016-02-24 11:39:02 +00:00
Andy Wilkinson
03ebef58fb Merge branch '1.3.x' 2016-02-24 10:58:02 +00:00
Andy Wilkinson
b1afd091c2 Document log file endpoint's support for using Range header
Closes gh-5062
2016-02-24 10:56:32 +00:00
Andy Wilkinson
64fd322ad1 Merge branch '1.3.x' 2016-02-24 10:32:32 +00:00
Andy Wilkinson
a6b1f4ce63 Add a note about a fully executable jar's working directory
Closes gh-5164
2016-02-24 10:30:41 +00:00
Stephane Nicoll
2da9f6d91c Merge branch '1.3.x' 2016-02-23 14:43:56 +01:00
Stephane Nicoll
c4205d04b3 Rework ListenerContainerFactory configurers
Rework commit b726974 to avoid exposing setters that would permit anyone
to change Spring Boot's defaults. Also, since these are configurers of a
specific instance, they should be named accordingly.

Closes gh-5138
2016-02-23 14:43:33 +01:00
Phillip Webb
4b55144d80 Polish 2016-02-19 16:19:22 -08:00
Andy Wilkinson
d454896755 Update documentation following changes to executable jar layout
See gh-4897
2016-02-19 15:41:53 +00:00
Stephane Nicoll
a95568d3e8 Polish contribution
Closes gh-5128
2016-02-18 15:27:36 +01:00
Christoph Strobl
fc22731420 Add Redis Cluster support
Introduce configuration options for "spring.redis.cluster.nodes" and
"spring.redis.cluster.max-redirects". Properties such as "timeout" and
others remain available via "spring.redis.timeout" and do not have to be
configured on the cluster itself.

See gh-5128
2016-02-18 15:27:36 +01:00
Stephane Nicoll
888270bd03 Polish contribution
Closes gh-5171
2016-02-18 11:30:02 +01:00
Stephane Nicoll
d5732afa67 Add missing configuration entry 2016-02-17 11:00:33 +01:00
Stephane Nicoll
0e10dbc269 Polish documentation
Some connection pool specific keys were still advertized in the
documentation.
2016-02-17 10:07:45 +01:00
Stephane Nicoll
62bc2abac0 Better document JTA properties
Closes gh-5143
2016-02-16 17:07:19 +01:00
Stephane Nicoll
90f0fc6ce3 Harmonize JTA properties
Previously, both Atomikos and Bitronix were bound on the `spring.jta`
namespace which makes very hard to figure out which property belong to
which implementation. Besides, `AtomikosProperties` only exposed public
setter which does not generate any useful meta-data.

This commit moves the external configuration for Atomikos and Bitronix to
`spring.jta.atomikos.properties` and `spring.jta.bitronix.properties`
respectively. It also improves the meta-data support for those two
namespaces.

Closes gh-5165
2016-02-16 16:44:50 +01:00
Stephane Nicoll
ff5b05fed9 Override default consistency for Couchbase
Spring Data Couchbase 2.0 sets the default consistency to "update-after"
which is good for performance reason but can be quite confusing. Since
the team has decided to switch to "read-your-own-writes" in 2.1, Spring
Boot already offers the improved default right now.

This commit exposes an additional property that can be used to change
the Couchbase's default consistency.

Closes gh-5159
2016-02-16 14:28:09 +01:00
Stephane Nicoll
81fdc99fb0 Polish doc
See gh-3498
2016-02-16 13:45:48 +01:00
Stephane Nicoll
64a5cad09a Improve couchbase support
Expose an `auto-index` property that controls if views and indexes
should be created automatically.

Update the sample so that it uses this new property, lowering the manual
steps to make it working on a vanilla couchbase server.

See gh-3498
2016-02-16 11:42:14 +01:00
Stephane Nicoll
52950717e0 Polish 2016-02-16 09:34:26 +01:00