- 12 Feb, 2016 12 commits
-
-
Andy Wilkinson authored
See gh-4097 and changes in 2522a5f9
-
Stephane Nicoll authored
-
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, when DevTools was restarting the application it would use reflection to run all of the JVM's shutdown hooks. This was done to close any SpringApplications' application contexts. Unfortunately, it had the unwanted side-effect of running other shutdown hooks as well. The other shutdown hooks were often written with the, entirely reasonable, expectation that they would only be called when the JVM was shutting down. Calling them at another time could leave the hook's library in an unexpected state. One such example is Log4J2 which was worked around in aaae4aa3 (see gh-4279). Another is the problem with Eureka (see gh-4097). There's no work around for this problem, even with reflective hackery, hence the change being made here. This commit updates the Restarter so that shutdown hooks are no longer called during a restart. This removes the chance of a restart having the unwanted side-effect of leaving a third-party library in a broken state. RestartApplicationListener now prepares the Restarter with the root application context, and the Restarter then closes it as part of the restart. The changes have been tested with an application that uses a single context and an application with a context hierarchy. Closes gh-4097
-
Andy Wilkinson authored
-
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
-
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
-
Andy Wilkinson authored
Closes gh-5122
-
Andy Wilkinson authored
-
Andy Wilkinson authored
-
- 11 Feb, 2016 23 commits
-
-
Andy Wilkinson authored
-
Andy Wilkinson authored
-
Andy Wilkinson authored
-
Andy Wilkinson authored
-
Andy Wilkinson authored
-
Andy Wilkinson authored
Closes gh-5073
-
Stephane Nicoll authored
-
Stephane Nicoll authored
Closes gh-5131
-
Andy Wilkinson authored
-
Andy Wilkinson authored
-
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
-
Stephane Nicoll authored
Also, the section on `server.*` configuration was poor so this commit also improves it. Closes gh-4989
-
Andy Wilkinson authored
-
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
-
Stephane Nicoll authored
Closes gh-4936
-
Stephane Nicoll authored
-
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
-
Andy Wilkinson authored
* gh-5126: Auto-configure ResourceUrlEncodingFilter when using FreeMarker
-
Kazuki Shimizu authored
Closes gh-5126
-
Stephane Nicoll authored
Hikari and Commons DBCP2 are already validating that the connection is valid before borrowing it from the pool. This commit makes that behaviour consistent by enabling that feature for the Tomcat and Commons DBCP data sources. Since a validation query is required in those cases, the infrastructure of `DataSourceHealthIndicator` has been merged in a single place: the `DatabaseDriver` enum provides not only the driver class names but also the validation query, if any. Closes gh-4906
-
- 10 Feb, 2016 5 commits
-
-
Stephane Nicoll authored
-
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
-
Andy Wilkinson authored
Closes gh-5044
-
Andy Wilkinson authored
-