Commit Graph

7179 Commits

Author SHA1 Message Date
Andy Wilkinson
ab96962833 Upgrade to Spring AMQP 1.5.4.RELEASE
Closes gh-5224
2016-02-24 15:15:24 +00:00
Andy Wilkinson
efec3b5607 Upgrade to SLF4J 1.7.16
Closes gh-5223
2016-02-24 15:15:23 +00:00
Andy Wilkinson
3eafec5f83 Upgrade to Postgresql 9.4.1208.jre7
Closes gh-5222
2016-02-24 15:15:23 +00:00
Andy Wilkinson
f5e450ebf7 Upgrade to Jolokia 1.3.3
Closes gh-5221
2016-02-24 15:15:23 +00:00
Andy Wilkinson
a33325e3da Upgrade to Hibernate Validator 5.2.4.Final
Closes gh-5220
2016-02-24 15:15:23 +00:00
Andy Wilkinson
0c389945da Upgrade to Jersey 2.22.2
Closes gh-5219
2016-02-24 15:15:23 +00:00
Andy Wilkinson
f734fd8d17 Upgrade to ActiveMQ 5.12.3
Closes gh-5217
2016-02-24 15:15:22 +00:00
Andy Wilkinson
1b84ccb449 Upgrade to thymeleaf-layout-dialect 1.3.3
Closes gh-5216
2016-02-24 15:15:22 +00:00
Andy Wilkinson
ea34dcdcde Upgrade to HikariCP-java6 2.3.13
Closes gh-5215
2016-02-24 15:15:22 +00:00
Andy Wilkinson
beb5f0bd41 Upgrade to Hazelcast 3.5.5
Closes gh-5214
2016-02-24 15:15:22 +00:00
Andy Wilkinson
d9814bf529 Upgrade to H2 1.4.191
Closes gh-5213
2016-02-24 15:15:22 +00:00
Andy Wilkinson
718f509271 Upgrade to Dependency Management Plugin 0.5.6.RELEASE
Closes gh-5211
2016-02-24 14:18:32 +00: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
ce71bd997c Remove redundant public modifier 2016-02-24 12:51:33 +00:00
Andy Wilkinson
13971692dc Docs and actuator endpoints can be enabled when endpoints.enabled=false
Previously, if endpoints.enabled was false setting
endpoints.docs.enabled=true or endpoints.actuator.enabled=true would
have no effect as their entire configuration class was conditional
on endpoints.enabled being true.

This commit updates the conditions on the configuration class so that
it is conditional on either the actuator or docs endpoint being enabled.

Closes gh-5007
2016-02-24 12:32:09 +00:00
Andy Wilkinson
72aae34b67 Merge pull request #5032 from Matt Benson
* gh-5032:
  Fix logic for disabling plugins in CrshAutoConfiguration
2016-02-24 11:56:35 +00:00
Matt Benson
2a9e6c40ed Fix logic for disabling plugins in CrshAutoConfiguration
Plugin disabling logic was broken by e009d3e4. Prior to this change,
a plugin would be disabled if it or any of the implemented interfaces
in its inheritance hierarchy were configured as being disabled. The
offending commit inverted the logic so that the plugin would be
enabled if any part of it was NOT configured as being disabled.

This commit restores the logic such that the early return happens only
in the negative case.

Previously, the tests were written as though
PluginContext#getPlugin(Class) would consider the specified class
against the runtime type of the plugin (not an unreasonable
assumption); rather this method considers the broader 'plugin type'.
This commit rewrites the test to seek by plugin type and assert the
absence of the disabled plugins.

Closes gh-5032
2016-02-24 11:56:15 +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
70ab613465 Merge pull request #5168 from Vedran Pavic
* gh-5168:
  Tag Docker images created by launch script integration tests
2016-02-24 11:05:07 +00:00
Vedran Pavic
2641fe8f26 Tag Docker images created by launch script integration tests
Closes gh-5168
2016-02-24 11:04:27 +00:00
Andy Wilkinson
b061aa5d7e Upgrade to Spring Data Gosling SR4
Closes gh-5119
2016-02-24 10:59:30 +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
a6b1f4ce63 Add a note about a fully executable jar's working directory
Closes gh-5164
2016-02-24 10:30:41 +00:00
Andy Wilkinson
617c97322d Allow endpoint paths to be configured via endpoint.<name>.path
Support for configuring an endpoint’s path separately from its id was
introduced in 97255785, but it didn’t work for a variety of reasons:

 1. Some custom MVC endpoints did not have configuration properties
    bound to them
 2. Some generic endpoints rejected the path property as they were
    configured not to ignore unknown fields
 3. The property used to configure the path was dependent on the id
    of the endpoint. This meant that the path property’s name would
    change if the endpoint’s id was changed

This commit addresses these problems:

 1. @ConfigurationProperties has been added to custom MvcEndpoints where
    it was missing
 2. Generic endpoints have been updated to ignore unknown fields,
    allowing the path of their MVC adapter to be configured
 3. Rather than using the id of a generic endpoint to determine the name
    of its path property, the prefix or value of the endpoint’s
    @ConfigurationProperties annotation is used instead. Any generic
    endpoint that is not annotated with @ConfigurationProperties is
    ignored, making its path unconfigurable.

Closes gh-5105
2016-02-23 17:06:51 +00: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
Andy Wilkinson
f94e8bd287 Do not try to auto-configure Jolokia if Spring MVC is not on classpath
The Jolokia auto-configuration requires ServletWrappingController from
Spring MVC to be on the classpath. This commit updates the
auto-configuration to make it conditional on the presence of this
class.

Closes gh-5153
2016-02-22 17:29:37 +00:00
Andy Wilkinson
b4cda625c4 Break cycle caused by JndiDataSourceAutoConfiguration
There's a long cycle when Spring Data REST, Data JPA and Actuator
are used in an app that retrieves its DataSource from JNDI. The cycle
is:

- WebMvcAutoConfiguration
- HttpMessageConverters
- MappingJackson2HttpMessageConverter (needs an ObjectMapper)
- SpringBootRepositoryRestMvcConfiguration
- ObjectMapper
- RepositoryResourceMappings (part of a custom Jackson module)
- Repositories
- EntityManagerFactory (Triggered by application's Spring Data JPA repository)
- HibernateJpaAutoConfiguration
- JndiDataSourceAutoConfiguration
- MBeanExporter (Used to prevent export of DataSource MBean that's already in JMX)
- EndpointMBeanExportAutoConfiguration
- ObjectMapper (Used to format JSON produced by the exported endpoints)

Spring Data Rest caused the ObjectMapper to depend on JPA. JPA depends
on the DataSource. JnidDataSourceAutoConfiguration depends on the
MBeanExporter. Actuator's MBeanExporter requires an ObjectMapper to
produce JSON strings.

This commit breaks the cycle by making JndiDataSourceAutoConfiguration
access the MBeanExporter lazily. Rather than using `@Lazy`. which does
not work with `@Autowired(required=false)`, the application context
is injected and the MBeanExporter is retrieved manually when it is
needed.

Closes gh-4980
2016-02-22 16:01:23 +00:00
Andy Wilkinson
d05f94170b Merge pull request #5190 from Gary Russell
* gh-5190:
  Upgrade to Spring Integration 4.2.5.RELEASE
2016-02-22 15:48:50 +00:00
Gary Russell
5e180641ec Upgrade to Spring Integration 4.2.5.RELEASE
Closes gh-5190
2016-02-22 15:48:15 +00:00
Andy Wilkinson
1c00fdd80c Upgrade to Undertow 1.3.18.Final
Closes gh-5182
2016-02-22 15:45:36 +00:00
Andy Wilkinson
5d256196a6 Upgrade to Groovy 2.4.6
Closes gh-4149
2016-02-22 14:34:12 +00:00
Stephane Nicoll
094f7aa20e Fix Hazelcast Cache auto-configuration ordering
Spring Boot supports the automatic configuration of an additional
HazelcastInstance if one already exists and an explicit property has been
set to use a different configuration for caching. So three cases are
supported really: no `HazelcastInstance` exists so we need to create one
anyway or an `HazelcastInstance` already exists; in that latter case, we
should either reuse it or create a new one.

Unfortunately, the conditions that checked those three use cases were
not ordered consistently and we could easily get in a situation where
both conditions were evaluated.

This commit makes sure that we  first check if an `HazelcastInstance`
exists and then (and only then) we create the missing `HazelcastInstance`
used for caching. The tests have also been improved to validate the
proper `HazelcastInstance` is used for caching.

Closes gh-5181
2016-02-22 14:28:34 +01:00
Dave Syer
14a5feacea Update to OAuth 2.0.9 2016-02-20 16:34:53 +00:00
Phillip Webb
a9afe0a944 Formatting 2016-02-19 16:07:10 -08:00
Andy Wilkinson
d3074a086c Increase timeout for startup of embedded Cassandra
The integration tests for the Spring Data Cassandra sample application
fail intermittently, apparently due to Cassandra failing to start
within the default timeout period of 10000ms.

In attempt to get the tests to pass reliably, this commit increases
the timeout to 60000ms (1 minute).
2016-02-18 12:46:31 +00:00
Stephane Nicoll
62bc2abac0 Better document JTA properties
Closes gh-5143
2016-02-16 17:07:19 +01:00
Andy Wilkinson
fbbead622d Add dependency management for some more of Jetty's modules
Closes gh-5155
2016-02-16 09:47:23 +00:00
Andy Wilkinson
d69e0486c1 Allow Thymeleaf's LayoutDialect to be overridden
Closes gh-5151
2016-02-15 21:27:34 +00:00
Stephane Nicoll
b726974bca Allow to easily customize ListenerContainerFactory
Previously, if one wants to create a custom `JmsListenerContainerFactory`
or `RabbitListenerContainerFactory`, a bunch of code from the auto-
configuration must be duplicated.

This commit introduces two services to configure such factory for JMS
and AMQP with the same sensible defaults that were applied by the
auto-configufrations.

Closes gh-5138
2016-02-12 16:16:44 +01:00
Andy Wilkinson
1c170b35ea Improve handling of connection failures in remote debug tunnel
Previously, if an application had been started without remote
debugging enabled, an attempt to connect to it via
RemoteSpringApplication and the HTTP tunnel would result in the
application being hammered by connection attempts for 30 seconds.

This commit updates the tunnel server to respond with Service
Unavailable (503) when a connection attempt is made and the JVM
does not have remote debugging enabled. When the client receives a
503 response, it now logs a warning message describing the possible
problem before closing the connection.

The client has also been updated to provide improved diagnostics when
a connection to the tunnel server cannot be established, for example
because the remote URL is incorrect, or the remote application isn't
running.

Lastly, the client has been updated so that it continues to accept
connections when a connection to the server is closed. This allows
the user to correct a problem with the remote application, such as
restarting it with remote debugging enabled, without having to also
restart the process that's running RemoteSpringApplication.

Closes gh-5021
2016-02-12 12:50:58 +00:00
Andy Wilkinson
607dba97f8 Only access parameters in WebRequestTraceFilter when they are included
Previously, WebRequestTraceFilter would call request.getParameterMap()
before deciding whether or not the parameters should be included in
the trace. For a POST request, this had the unwanted side-effect
of always reading the request body.

This commit updates WebRequestTraceFilter so that it checks that
parameters are to be included in the trace before calling
request.getParameterMap()

Closes gh-5089
2016-02-12 10:26:23 +00:00
Andy Wilkinson
815da8b845 Upgrade to Tomcat 8.0.32
Closes gh-5122
2016-02-12 10:17:09 +00:00
Andy Wilkinson
ac5c6f725c Correct the scope of the postgresql dependency in spring-boot-devtools 2016-02-12 09:39:05 +00:00
Andy Wilkinson
295dc65b78 Fix LoggingSystem tests following System property changes 2016-02-11 19:38:47 +00:00
Andy Wilkinson
7787321db4 Polishing 2016-02-11 18:02:04 +00:00
Andy Wilkinson
ddfadce94d Set all documented system properties in LoggingApplicationListener
Closes gh-5073
2016-02-11 17:52:16 +00:00
Stephane Nicoll
4cbbd48f18 Polish documentation
Closes gh-5131
2016-02-11 17:52:38 +01:00
Andy Wilkinson
31aa5ad8dd Remove redundant public modifier 2016-02-11 16:28:15 +00:00
Andy Wilkinson
a8f4708ffb Shut down in-memory database when DevTools restarts the context
Previously an in-memory database that wasn’t pooled (an
EmbeddedDatabase) would be shutdown when the context restarted, but
an in-memory database wrapped in a connection pool was not. This meant
that the former would be be wiped clean after each restart, whereas the
latter would not. In addition to being inconsistent, this also
caused problems with schema.sql and data.sql scripts when using
DevTools. If you were using an in-memory database wrapped in a
connection pool, a failure may occur during a restart as the scripts
were not being run against in clean database.

This commit adds an auto-configured bean to DevTools that, when the
context is being closed, will execute “SHUTDOWN” if it identifies that
the DataSource is not an EmbeddedDatabase and is for an in-memory
database.

Closes gh-4699
2016-02-11 16:01:07 +00:00
Stephane Nicoll
abf9d66edf Document how to configure access logging
Also, the section on `server.*` configuration was poor so this commit
also improves it.

Closes gh-4989
2016-02-11 16:59:47 +01:00