- 24 Feb, 2016 7 commits
-
-
Matt Benson authored
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
-
Andy Wilkinson authored
Closes gh-5147
-
Andy Wilkinson authored
* gh-5168: Tag Docker images created by launch script integration tests
-
Vedran Pavic authored
Closes gh-5168
-
Andy Wilkinson authored
Closes gh-5119
-
Andy Wilkinson authored
Closes gh-5062
-
Andy Wilkinson authored
Closes gh-5164
-
- 23 Feb, 2016 2 commits
-
-
Andy Wilkinson authored
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
-
Stephane Nicoll authored
Rework commit b726974b 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
-
- 22 Feb, 2016 7 commits
-
-
Andy Wilkinson authored
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
-
Andy Wilkinson authored
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
-
Andy Wilkinson authored
* gh-5190: Upgrade to Spring Integration 4.2.5.RELEASE
-
Gary Russell authored
Closes gh-5190
-
Andy Wilkinson authored
Closes gh-5182
-
Andy Wilkinson authored
Closes gh-4149
-
Stephane Nicoll authored
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
-
- 20 Feb, 2016 2 commits
-
-
Dave Syer authored
-
Phillip Webb authored
-
- 18 Feb, 2016 1 commit
-
-
Andy Wilkinson authored
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).
-
- 16 Feb, 2016 2 commits
-
-
Stephane Nicoll authored
Closes gh-5143
-
Andy Wilkinson authored
Closes gh-5155
-
- 15 Feb, 2016 1 commit
-
-
Andy Wilkinson authored
Closes gh-5151
-
- 12 Feb, 2016 5 commits
-
-
Stephane Nicoll authored
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
-
Andy Wilkinson authored
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
-
Andy Wilkinson authored
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
-
Andy Wilkinson authored
Closes gh-5122
-
Andy Wilkinson authored
-
- 11 Feb, 2016 10 commits
-
-
Andy Wilkinson authored
-
Andy Wilkinson authored
-
Andy Wilkinson authored
Closes gh-5073
-
Stephane Nicoll authored
Closes gh-5131
-
Andy Wilkinson authored
-
Andy Wilkinson authored
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
-
Stephane Nicoll authored
Also, the section on `server.*` configuration was poor so this commit also improves it. Closes gh-4989
-
Andy Wilkinson authored
Previously, WebSocketMessagingAutoConfiguration added a single additional converter. This was a MappingJackson2MessageConverter configured with the auto-configured ObjectMapper. AbstractMessageBrokerConfiguration places additional converters before any of the default converters. This meant that the auto-configuration had the unwanted side-effect of changing the ordering of the converters. A MappingJackson2MessageConverter was now first in the list, whereas, by default, it's last in the list after a StringMessageConverter and a ByteArrayMessageConverter. This commit updates WebSocketMessagingAutoConfiguration so that it switches off the registration of the default converters and registers a StringMessageConverter, ByteArrayMessageConverter and MappingJackson2MessageConverter in that order. A test has been added to verify that the types of these three converters match the types of the default converters. A second test that verifies that String responses are converted correctly has also been added alongside the existing test that verified the behaviour for JSON responses. Closes gh-5123
-
Stephane Nicoll authored
Closes gh-4936
-
Stephane Nicoll authored
When the `locations` attribute is set for a given bean annotated with `@ConfigurationProperties`, the configuration at these specified locations take precedence over any other property sources. This means that such values can't be overridden by a system property or a command line switch for instance. This commit clarifies this rules in the documentation. Closes gh-5111
-
- 10 Feb, 2016 3 commits
-
-
Stephane Nicoll authored
DriverClassNameProvider is unused but was probably restored by a merge commit at some point. It wasn't obvious and updated that class rather than `DatabaseDriver`. This commit updates `DatabaseDriver` and deletes `DriverClassNameProvider`. Closes gh-5076
-
Andy Wilkinson authored
Closes gh-5044
-
Andy Wilkinson authored
Closes gh-5108
-