Commit Graph

917 Commits

Author SHA1 Message Date
Stephane Nicoll ae1979f1ff Merge branch '2.0.x' 2018-11-26 10:35:37 +01:00
Stephane Nicoll e424dfbe15 Polish "Perform best effort to retrieve DataSourceProxy"
Closes gh-15206
2018-11-26 10:18:48 +01:00
Andy Wilkinson ee2107c91b Merge branch '2.0.x' 2018-11-23 20:15:42 +00:00
Andy Wilkinson 44632ea55c Merge branch '1.5.x' into 2.0.x 2018-11-23 20:15:26 +00:00
Andy Wilkinson 548cc05bb6 Polish 2018-11-23 19:33:33 +00:00
Andy Wilkinson 35cce76ae8 Merge branch '2.0.x' 2018-11-23 16:59:27 +00:00
Andy Wilkinson 3331fa2d02 Merge branch '1.5.x' into 2.0.x 2018-11-23 16:59:18 +00:00
Brian Clozel 5bb7b24d7c Fix class cast in ServletContextInitializerBeans
See gh-15166
2018-11-21 11:50:41 +01:00
Brian Clozel d52b599eee Improve Servlet and Filter registration logging
Prior to this commit, the information logged at DEBUG level for the web
infrastructure was not consistent with the experience in Spring
Framework.

This commit moves some logging information about
`ServletContextInitializer` registrations from DEBUG to TRACE level and
gathers the Servlets and Filters registration logs into one-liners at
the DEBUG level.

Closes gh-15166
2018-11-21 10:29:55 +01:00
Phillip Webb bab111b37e Fix ConfigurationPropertyName.equals for uppercase
Commit 7f35f8a9 for gh-14665 was unfortunately incomplete as it didn't
account for uppercase values. The run-off while loop should have used
`Character.toLowerCase` in the same way as the main while loop.

Fixes gh-15152
2018-11-15 13:48:20 -08:00
Phillip Webb cccf5e6d2b Merge branch '2.0.x' 2018-11-14 18:27:28 -08:00
Phillip Webb 3baf782822 Merge branch '1.5.x' into 2.0.x 2018-11-14 18:24:32 -08:00
Brian Clozel 8e86bcafc1 Improve actuator endpoint mapping debug logging
Closes gh-14292
2018-11-14 14:36:52 +01:00
Jonathan Bregler e74348ee30 Fix HANA validation query
This commit updates the validation query for HANA. It should use the
fully qualified dummy table name (SYS.DUMMY) to avoid unexpected results
if there is a local table named DUMMY.

Closes gh-15124
2018-11-10 17:56:51 +01:00
dreis2211 6ac788df2f Add missing @Deprecated annotation
Closes gh-15113
2018-11-07 07:53:39 +01:00
dreis2211 3e95af2c85 Polish some Map operations
Closes gh-15103
2018-11-06 07:41:55 +01:00
Stephane Nicoll dc02616b78 Merge branch '2.0.x' 2018-11-01 17:15:31 +09:00
Nooheat 8380031039 Simplify ArrayList calling addAll() immediately
Closes gh-15033
2018-11-01 17:10:16 +09:00
Stephane Nicoll 8d6d1f4a57 Merge branch '2.0.x' 2018-11-01 10:15:26 +09:00
Misagh Moayyed e820f04926 Polish EnableConfigurationPropertiesImportSelector javadoc
Closes gh-15049
2018-11-01 10:13:35 +09:00
Phillip Webb 33d385cf7a Use US spelling for "favor" 2018-10-29 15:26:34 -07:00
Phillip Webb f3fa20b2d1 Polish 2018-10-29 14:25:45 -07:00
dreis2211 3d2fbdf3bd Polish mocks with default answer
Closes gh-14971
2018-10-26 16:39:48 -07:00
Phillip Webb c393f6262e Merge branch '2.0.x' 2018-10-26 16:36:02 -07:00
Phillip Webb 33c7a74bee Update copyright year for changed files 2018-10-26 16:35:28 -07:00
Phillip Webb 5603d61909 Polish "Consider aliases when checking descendants"
See gh-14967
2018-10-26 16:24:23 -07:00
chang-chao 256ca681fd Consider aliases when checking descendants
Update `AliasedConfigurationPropertySource` to consider aliases in
`containsDescendantOf`.

Prior to this commit, given a source containing `example.name` with
a defined alias of `other.name -> example.name` calling
`containsDescendantOf("other")` would incorrectly return
`ConfigurationPropertyState.ABSENT`.

Closes gh-14967
2018-10-26 16:08:56 -07:00
Phillip Webb 1a85e629d7 Stop using streams when working with sources
Replace `streamSources()` calls with `getSources()` in an attempt to
reduce the amount of garbage created.

Closes gh-13565
2018-10-26 11:30:28 -07:00
Phillip Webb 99e166516d Restore conversion service binary compatibility
Change `ApplicationConversionService.getSharedInstance()` to again
return a `ConversionService` rather than `ApplicationConversionService`.

This restore binary compatibly with Spring Boot 2.0

Closes gh-14938
2018-10-24 15:22:42 -07:00
Madhura Bhave 34156b2137 Rename DatabaseDriver#SAP to DatabaseDriver#HANA
Closes gh-14918
2018-10-24 13:00:38 -07:00
Madhura Bhave fd20618f4b Merge branch '2.0.x' 2018-10-22 21:55:01 -07:00
dreis2211 3fea487c7b Use Errors.hasErrors() in DefaultErrorAttributes
Closes gh-14912
2018-10-22 21:51:21 -07:00
Andy Wilkinson 22e722d9f9 Polish 2018-10-18 15:51:20 +01:00
Andy Wilkinson 9b8ead825c Polish 2018-10-18 15:38:06 +01:00
Johnny Lim c8c3f59e93 Polish
Closes gh-14884
2018-10-18 09:36:27 +02:00
Johnny Lim 7f9671fd14 Polish
Closes gh-14843
2018-10-16 11:38:51 +02:00
Stephane Nicoll 1e6851cf81 Polish "Remove usages of BasicAuthorizationInterceptor"
Closes gh-14830
2018-10-16 10:21:32 +02:00
dreis2211 8b14754cda Remove usages of BasicAuthorizationInterceptor
See gh-14830
2018-10-16 10:21:32 +02:00
Rahul Narula c078d0cb8a Polish SpringBootJoranConfigurator
Closes gh-14845
2018-10-15 22:05:11 -07:00
Stephane Nicoll 1a0d53dec0 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14696
2018-10-15 08:25:10 +02:00
Phillip Webb 88ac7f1d65 Polish 2018-10-14 12:43:00 -07:00
Andy Wilkinson 83692a22da Polish "Use non-reflective APIs to retrieve config prop binding converters"
Closes gh-14657
2018-10-14 14:09:21 +01:00
Dave Syer 2094e54ef2 Use non-reflective APIs to retrieve config prop binding converters
See gh-14657
2018-10-14 14:09:16 +01:00
Andy Wilkinson 1ac48ee876 Merge branch '2.0.x' 2018-10-13 16:56:21 +01:00
Andy Wilkinson b78c7aca3e Allow ALPNServerConnectionFactory to negotiate use of HTTP/1.1
Closes gh-14444
2018-10-13 16:56:10 +01:00
Madhura Bhave ec6e9d205a Merge branch '2.0.x' 2018-10-12 18:24:23 -07:00
Madhura Bhave a86ba6495c Polish 2018-10-12 18:21:39 -07:00
Madhura Bhave 8f91bbeffa Polish 2018-10-12 18:14:36 -07:00
Madhura Bhave 24a8461749 Merge branch '2.0.x' 2018-10-12 17:59:43 -07:00
Madhura Bhave d2ceb8f7da Polish 2018-10-12 17:59:01 -07:00
Stephane Nicoll 8f1729e322 Merge branch '2.0.x' 2018-10-12 16:00:08 +02:00
Stephane Nicoll 798b37805d Polish "Add support for @ResponseStatus in DefaultErrorAttributes"
Closes gh-14744
2018-10-12 15:57:57 +02:00
Michele Mancioppi 17919749db Add support for @ResponseStatus in DefaultErrorAttributes
This commit adds support for @ResponseStatus in DefaultErrorAttributes
mimicking the semantics of @ResponseStatus in SpringMVC.

Throwables annotated with @ResponseStatus handled by
DefaultErrorAttributes will result in the following error attributes:
* 'status' set as the return value of the HttpStatus#value()
  defined as @ResponseStatus#value()
* 'error' set to the default reason phrase of the HttpStatus
  defined as @ResponseStatus#value()
* 'message' defined as the value of @ResponseStatus#reason(),
  or the default HttpStatus's reason phrase if left unspecified

See gh-14744
2018-10-12 15:47:07 +02:00
Brian Clozel 2588a71ac4 Auto-Configure HTTP ResourceFactories on servers
This commit auto-configures HTTP resource factories on both Reactor
Netty and Jetty server instances. This creates `ReactorResourceFactory`
and `JettyResourceFactory` beans when necessary - those beans can be
reused and applied by the client auto-configuration in order to share
resources between client and server for optimal performance.

The server auto-configuration has the highest precedence, so from now
on, the auto-configured ResourceFactory bean on the client side will be
skipped if a reactive server is configured.

Closes gh-14495
2018-10-12 11:32:55 +02:00
Phillip Webb d102e0d7f7 Introduce Ordered Filter and WebFilter interfaces
Add `Ordered` variants of `javax.servlet.Filter` and
`org.springframework.web.server.WebFilter` mainly so that we can
deprecate `FilterRegistrationBean.REQUEST_WRAPPER_FILTER_MAX_ORDER`.

Closes gh-14793
2018-10-11 23:13:23 -07:00
Phillip Webb 683e9532d6 Handle servlet startup failures consistently
Ensure that all servlet containers handle servlet startup failures
consistently and throw a `WebServerException` that wraps the original
cause.

Both Undertow and Jetty already dealt with startup failures in this
way, but Tomcat did not. The `TomcatEmbeddedContext` has now been
changed to no longer call `super.loadOnStartup` but instead re-implement
a version of that method that wraps and rethrows the original exception
(as long as `failCtxIfServletStartFails` is `true`, which it now is by
default).

Closes gh-14790
2018-10-11 22:31:40 -07:00
Phillip Webb 4823114e1c Polish 2018-10-11 22:30:49 -07:00
Phillip Webb 3da25c6d36 Remove TomcatEmbeddedContext.overrideLoadOnStart
Remove the reflection tests used to support the older variant of
`overrideLoadOnStart` that returned a void. Since we no longer support
that older version we can simply the code.

Closes gh-14789
2018-10-11 20:22:58 -07:00
Phillip Webb 74d48fb7a7 Merge branch '2.0.x' 2018-10-11 20:20:15 -07:00
Phillip Webb 21ebb94d49 Respect Tomcat's failCtxIfServletStartFails flag
Ensure that if the user has set `failCtxIfServletStartFails` to `true`
using a `ContextCustomizers` any Servlet init exceptions stop the
application from running.

Closes gh-14448
2018-10-11 20:12:01 -07:00
artsiom 8f3b58fa98 Replace ReflectionTestUtils usage by hasFieldOrPropertyWithValue
Closes gh-14783
2018-10-11 17:49:37 +02:00
Phillip Webb 33c2d24560 Support ConfigurationProperties BindHandler advise
Allow custom `BinderHandler` advise to be applied to the `Binder` used
for `@ConfigurationProperties`.  This mechanism has been added to allow
Spring Cloud Stream to manipulate `Bindable` instances before binding
occurs.

NOTE: This commit introduces a breaking change to the `BindHandler`
interface since the `onStart` method now returns a `Bindable` rather
than a `boolean`.

Closes gh-14745
2018-10-10 12:40:11 -07:00
Phillip Webb 8da295998b Polish 2018-10-10 12:20:03 -07:00
Stephane Nicoll 1a140a80d8 Improve logger-name value hint definition
This commit improve the logger-name value hint by adding a group
attribute that can be defined to specify whether logging groups should
be considered.

Closes gh-14748
2018-10-10 18:40:10 +02:00
Andy Wilkinson ddb8694ae2 Merge branch '1.5.x' into 2.0.x 2018-10-10 13:00:17 +01:00
Stephane Nicoll 0fba98ca73 Fix logging.group target type
Closes gh-14743
2018-10-09 18:18:05 +02:00
Stephane Nicoll caf7f09296 Document standard "sql" and "web" log groups in the metadata
Closes gh-14740
2018-10-09 18:13:23 +02:00
Andy Wilkinson 749fa96a8b Polish 2018-10-08 13:34:25 +01:00
Andy Wilkinson 1e0f2b652e Merge branch '2.0.x' 2018-10-08 12:41:16 +01:00
Andy Wilkinson 5d3f30ee94 Honour SSL key and trust store providers when configuring Netty
Closes gh-14714
2018-10-08 12:39:09 +01:00
Andy Wilkinson 1afdfef83a Merge branch '2.0.x' 2018-10-08 12:20:11 +01:00
Andy Wilkinson d6d59edb35 Merge branch '1.5.x' into 2.0.x 2018-10-08 12:19:52 +01:00
Andy Wilkinson 8259c6397e Merge branch '2.0.x' 2018-10-06 12:59:42 +01:00
Andy Wilkinson ca329d3d03 Update Jersey indicator class to one that requires the Servlet API
Previously, if WebFlux and Jersey were on the classpath, but there was
no Servlet API (and no embedded container) on the classpath, the web
application type would be prevented from being reactive. The absence
of the Servlet API would then prevent the web application type from
being servlet so it would be none.

By contrast, if Spring MVC was on the classpath in place of Jersey
the absence of the Servlet API would allow the web application type to
be reactive. This happened because the Spring MVC indicator class is
DispatcherServlet which requires the Servlet API.

This commit updates the Jersey indicator class to be ServletContainer.
This class is both an HttpServlet and a Filter so it too requires the
Servlet API and, therefore, further aligns the deduction behaviour for
Jersey and Spring MVC.

Closes gh-14701
2018-10-06 12:59:25 +01:00
Phillip Webb 01b8667dd7 Update copyright year for changed files 2018-10-05 13:40:07 -07:00
Phillip Webb 5c7a4523ea Merge '2.0.x' 2018-10-05 13:34:12 -07:00
Phillip Webb 6aedb69443 Update copyright year for changed files 2018-10-05 13:31:33 -07:00
Phillip Webb 456d1af443 Polish 2018-10-05 13:30:24 -07:00
Stephane Nicoll bb89012922 Merge branch '2.0.x' 2018-10-05 16:43:30 +02:00
Stephane Nicoll febaf15b61 Guard WebApplicationType detection in case spring web is not present
Closes gh-14589
2018-10-05 16:41:22 +02:00
Phillip Webb 6baaa3df77 Use ResourceLoader.getClassLoader() for factories
Update `SpringApplication` to load and initialize `spring.factories`
classes using the `ResourceLoader.getClassLoader()`.

Closes gh-14641
2018-10-04 19:45:40 -07:00
Phillip Webb 546bd89f2e Merge branch '2.0.x' 2018-10-04 10:17:29 -07:00
Phillip Webb 2b6bdfe277 Fix Reactive...Context NPE
Fix possible NPE in `ReactiveWebServerApplicationContext`.

See gh-14666
2018-10-04 10:16:23 -07:00
Phillip Webb 3e25996405 Merge branch '2.0.x' 2018-10-04 08:00:16 -07:00
Phillip Webb 8c896d9376 Improve Reactive...Context thread safety
Refactor `ReactiveWebServerApplicationContext` to improve thread safety
by using a single manager object rather than then trying to synchronize
the `WebServer` and `HttpHandler`.

Closes gh-14666
2018-10-04 07:59:39 -07:00
Stephane Nicoll 5d0e812afe Merge branch '2.0.x' 2018-10-04 15:53:26 +02:00
Stephane Nicoll 1b10d3fcbf Fix missing metadata for nested POJO
This commit fixes missing descriptions and default values when
applicable for `management.server.ssl`, `server.compression`,
`server.http2`, `server.servlet.jsp`, `server.servlet.session` and
`server.ssl`.

Those nested namespace are managed by a POJO that is declared outside
of the module of the target @ConfigurationProperties type using it. As
a result, the annotation processor has no access to the source model and
can't extract the description and the default value, if any.

This commit migrates the misleading field-level Javadoc to manual meta
data for the time being.

Closes gh-14669
2018-10-04 15:49:04 +02:00
Stephane Nicoll 00e122c7ec Merge branch '2.0.x' 2018-10-03 14:39:15 +02:00
Stephane Nicoll b4c5aea152 Fix detection of WebApplicationType with context class
Closes gh-14589
2018-10-03 14:37:31 +02:00
Johnny Lim 335775892b Polish
See gh-14667
2018-10-03 13:57:18 +02:00
dreis2211 e68b9e8322 Remove unnecessary parameters for String.substring
Closes gh-14661
2018-10-03 09:34:56 +02:00
Phillip Webb 7087f90f2d Merge branch '2.0.x' 2018-10-02 23:01:46 -07:00
Phillip Webb bd9500290e Defer HttpHandler initialization
Update `ReactiveWebServerApplicationContext` so that the `HttpHandler`
bean is not longer created from `onRefresh`, but is instead created
only when the server starts.

Prior to this commit, the WebFlux hander would cause early
initialization of several beans, including Jackson Modules.

Closes gh-14666
2018-10-02 22:57:09 -07:00
Phillip Webb 7f35f8a982 Fix ConfigurationPropertyName.equals
Fix a regression in `ConfigurationPropertyName.equals` that was causing
incorrect results.

Closes gh-14665
2018-10-02 14:00:22 -07:00
Phillip Webb aa6a58d24c Merge branch '2.0.x' 2018-10-02 14:00:13 -07:00
Phillip Webb 7afde2ba43 Add another ConfigurationPropertyName.equals test
Include an additional test to ensure that `.equals` works for names
starting with the same value.

See gh-14665
2018-10-02 13:58:31 -07:00
Phillip Webb d76bba5e6f Migrate from ExpectedException rule to AssertJ
Replace ExpectedException JUnit rules with AssertJ exception
assertions.

Closes gh-14336
2018-10-02 10:55:28 -07:00
Phillip Webb 42cb0effc4 Merge branch '2.0.x' 2018-10-02 10:30:33 -07:00
Phillip Webb 3ff20b2440 Restore import-control checkstyle
Restore checkstyle import control and fix a few violations in the
process.

Closes gh-14660
2018-10-02 10:30:14 -07:00
Andy Wilkinson 121aad8397 Merge branch '2.0.x' 2018-10-01 15:39:15 +01:00
Andy Wilkinson da1fde6a5f Merge branch '1.5.x' into 2.0.x 2018-10-01 15:38:53 +01:00
Johnny Lim 3dc78d19bf Add log messages to lines only when the destination isn't set
Closes gh-14565
2018-09-22 19:33:58 +02:00
Johnny Lim f1552029ea Add @since in ApplicationContextInitializedEvent
Closes gh-14579
2018-09-22 19:32:40 +02:00
Stephane Nicoll cbae22f0c9 Polish "Migrate size properties to DataSize"
Closes gh-14549
2018-09-21 16:27:28 +02:00
Phillip Webb d0de4657d4 Reduce ConfigurationPropertyName GC pressure
Rewrite `ConfigurationPropertyName` in an attempt to consume less memory
and to reduce GC pressure from `toString()`.

Prior to this commit the `toString()` method would always construct a
new value from the name elements. This is sub-optimal since on on many
occasions the `ConfigurationPropertyName` is created from an already
well-formed String. The updated code now attempts to directly use the
original value for both `toString` and `equals` whenever possible.

Further refinements have also been made to the way that elements are
stored. Rather than a list or objects, we now use arrays that contains
the split points and types. This helps to reduce the amount of memory
required to store the name.

Closes gh-13414
2018-09-20 22:27:06 -07:00
Phillip Webb 0a187675b5 Reduce GC in SpringConfigurationPropertySource
Update `SpringConfigurationPropertySource` so that the
`DelegatingPropertyMapper` accepts a maximum of two values and does
not need to wrap arguments in an array. Also optimize the merge
operation to return a single result directly rather than always using
a new `List`.

Closes gh-14563
2018-09-20 22:21:18 -07:00
Phillip Webb 2bc3d8d01f Use shared BindConverter when possible
Update the `Binder` so that a single shares static `BindConverter` is
used whenever possible.

Closes gh-14562
2018-09-20 22:15:31 -07:00
Phillip Webb 865b7ae47f Reduce object creation when binding
Use static finals and private instances to reduce the number of objects
created when binding from the `ConfigFileApplicationListener`.

Closes gh-13436
2018-09-20 22:14:47 -07:00
Phillip Webb 624cd40598 Reduce GC pressure creating load descriptions
Update `ConfigFileApplicationListener` to build description methods
using a `StringBuilder` and not to use `String.format`.

See gh-13436
2018-09-20 22:13:09 -07:00
Stephane Nicoll 5323095e44 Fix broken build 2018-09-20 13:32:41 +02:00
Stephane Nicoll 22e77e02b6 Polish "Add support for SAP Hana Database"
Closes gh-14513
2018-09-20 12:02:55 +02:00
Michael cea95c303f Add support for SAP Hana Database
See gh-14513
2018-09-20 11:56:17 +02:00
Stephane Nicoll ac2fefb6c3 Merge branch '2.0.x' 2018-09-20 10:25:20 +02:00
Stephane Nicoll 957321492f Merge branch '1.5.x' into 2.0.x 2018-09-20 10:24:57 +02:00
Johnny Lim 521f746151 Polish
Closes gh-14517
2018-09-20 09:51:10 +02:00
Johnny Lim d0a252181b Polish
Closes gh-14449
2018-09-19 09:58:31 +02:00
Brian Clozel 1b7325df52 Switch to Reactor Californium SNAPSHOTs
See gh-14507
2018-09-18 19:35:04 +02:00
Andy Wilkinson 5e0e941632 Polish "Publish ApplicationContextInitializedEvent on contextPrepared"
Closes gh-14478
2018-09-17 10:50:28 +01:00
artsiom b4c6cef526 Publish ApplicationContextInitializedEvent on contextPrepared
See gh-14478
2018-09-17 10:43:12 +01:00
Phillip Webb d4b11c8fa6 Attempt to fix test failures on Java 9+
See gh-14453
2018-09-12 18:31:50 -07:00
Phillip Webb bc92becfd8 Allow DeferredLogger to replay and switch loggers
Add additional `switchTo` methods to allow a `DeferredLogger` to behave
like a regular logger once it has been replayed.

This commit also improves thread thread safety within the implementation.

Closes gh-14452
2018-09-12 16:25:14 -07:00
Phillip Webb b32887b8eb Add support for logging groups
Provide a way for users to quickly group related loggers together for
easier configuration. The `loggers.group` property can be used to define
a group that can then be configured in the usual `loggers.level.<group>`
way.

Additionally, provide pre-defined groups for `web` and `sql.

Closes gh-14421
2018-09-12 16:25:14 -07:00
Phillip Webb f0bfcd8947 Drop okhttp 2.x managed dependency
Closes gh-14442
2018-09-11 22:49:35 -07:00
Phillip Webb 8ed516e9ae Polish 2018-09-11 15:10:25 -07:00
Phillip Webb 0c00508b3c Register ApplicationConversionService for context
Update `SpringApplication` to automatically register the shared
`ApplicationConversionService` instance with the `BeanFactory` and
`Environment`.

Closes gh-12148
2018-09-11 14:24:27 -07:00
Phillip Webb 8c34e053f5 Update copyright header of changed files 2018-09-05 13:09:03 -07:00
Phillip Webb c3de4c84f2 Polish 2018-09-05 12:54:20 -07:00
Stephane Nicoll 3469142fec Partially revert 59d911d
This commit restores the public `UsesUnsafeJava` and flag it as
deprecated.

Closes gh-14072
2018-09-05 09:42:18 +02:00
Madhura Bhave f0d7533e0b Merge branch '2.0.x' 2018-09-04 17:09:52 -07:00
Madhura Bhave 9c82d5c382 Make ApplicationContextServerWebExchangeMatcher and subclasses thread-safe
Fixes gh-14161
2018-09-04 17:06:24 -07:00
Phillip Webb 9d1b3a2b49 Merge branch '2.0.x' 2018-09-04 16:25:17 -07:00
Phillip Webb cafff43022 Update copyright header of changed files 2018-09-04 16:19:05 -07:00
Phillip Webb 9af6b3422f Polish 2018-09-04 16:18:47 -07:00
Andy Wilkinson 8ee4775820 Polish 2018-09-04 20:46:35 +01:00
Stephane Nicoll c0e45b7333 Adapt to Spring Framework API change 2018-09-04 14:09:57 +02:00
Stephane Nicoll cb7de2a963 Allow binding number to DataSize
Closes gh-14294
2018-09-04 11:04:22 +02:00
Johnny Lim 5427d778fe Polish
Closes gh-14293
2018-09-04 08:52:55 +02:00
artsiom 11f0f668ff Throw an exception on invalid syntax in SPRING_APPLICATION_JSON
Closes gh-14251
2018-09-03 11:28:02 +02:00
Stephane Nicoll 8b753297c3 Merge branch '2.0.x' 2018-08-31 15:24:11 +02:00
Stephane Nicoll ea2fb620b4 Clarify structure of prefixes
Closes gh-14258
2018-08-31 15:23:53 +02:00
Phillip Webb 174f53e1cf Merge branch '2.0.x' 2018-08-30 16:02:25 -07:00
Phillip Webb 2e2f91d4a0 Merge branch '1.5.x' into 2.0.x 2018-08-30 15:59:02 -07:00
asomov 46c30d01e9 Upgrade to SnakeYAML 1.23
Closes gh-14224
2018-08-30 11:31:11 +02:00
Stephane Nicoll 20c8f61473 Merge branch '2.0.x' 2018-08-27 18:20:42 +02:00
dreis2211 70add0617a Collapse identical catch blocks
Closes gh-14213
2018-08-27 18:18:06 +02:00
Johnny Lim cf17106d8d Polish
Closes gh-14212
2018-08-27 17:28:27 +02:00
Johnny Lim fe3fe0fa63 Polish
Closes gh-14202
2018-08-26 10:48:05 +02:00
Stephane Nicoll 82280e34c7 Merge branch '2.0.x' 2018-08-24 11:49:30 +02:00
Johnny Lim fb71174c24 Polish
Closes gh-14184
2018-08-24 11:48:41 +02:00
Stephane Nicoll 429cd8d114 Optimize use of Jackson ObjectMapper instances
Closes gh-1789
2018-08-23 14:09:48 +02:00
Johnny Lim 9602a32a8d Polish
Closes gh-14172
2018-08-23 11:40:44 +02:00
Stephane Nicoll 597fe237b5 Polish "Add PropertyMapper.from(value)"
Closes gh-13837
2018-08-22 15:40:36 +02:00
Dmytro Nosan 1bd52bc432 Add PropertyMapper.from(value)
See gh-13837
2018-08-22 15:27:00 +02:00
Madhura Bhave b03f8e4a4a Merge branch '2.0.x' 2018-08-21 12:56:27 -07:00
Madhura Bhave 55406d91d2 Consider dash & underscore when equating indexed elements
Fixes gh-14136
2018-08-21 12:53:25 -07:00
Stephane Nicoll 456f5ce2f4 Merge branch '2.0.x' 2018-08-21 10:03:12 +02:00
Hiroaki Yoshida 6e86ba12b7 Fix potential infinite recursive loop in toString
Closes gh-14152
2018-08-21 10:02:10 +02:00
Stephane Nicoll c00dbc6c2f Fix merge commit 2018-08-20 15:04:08 +02:00
Stephane Nicoll d9a42a5165 Merge branch '2.0.x' 2018-08-20 15:03:24 +02:00
Stephane Nicoll e03f01564a Deprecate EntityManagerFactoryBeanCallback
Closes gh-14083
2018-08-20 14:54:32 +02:00
Stephane Nicoll e95661876c Merge branch '2.0.x' 2018-08-20 11:23:39 +02:00
Stephane Nicoll e034b383db Fix checkstyle violation
Closes gh-14125
2018-08-20 11:19:01 +02:00
Stephane Nicoll b26dedb547 Merge branch '2.0.x' 2018-08-20 10:26:21 +02:00
Stephane Nicoll eedeaa29e5 Polish "Replace loops with Arrays.setAll where possible"
Closes gh-14125
2018-08-20 10:23:16 +02:00
dreis2211 0bc66dc4a9 Replace loops with Arrays.setAll where possible
See gh-14125
2018-08-20 10:16:50 +02:00
Brian Clozel 6ecbd8d21b Auto-Configure FormContentFilter in Spring MVC
Because `HttpPutFormContentFilter` has been deprecated in Spring
Framework 5.1, this commit updates the auto-configuration to replace it
with the new `FormContentFilter`. This new filter is building on the
previous one and supports HTTP DELETE requests as well.

Both filters should not be used in addition, so the former
configuration has been removed. This commit also adds configuration
metadata to let developers know about the configuration key change.

Closes: gh-13363
2018-08-17 15:25:14 +02:00
Stephane Nicoll 930c838da9 Remove Narayana support
The Spring Boot integration is now handled by the Narayana project
itself at https://github.com/snowdrop/narayana-spring-boot

This commit removes our support.

Closes gh-12026
2018-08-17 15:08:55 +02:00
Brian Clozel 5e836b1231 Merge branch '2.0.x' 2018-08-17 13:41:36 +02:00
artsiom 51fd27fad4 Configure HiddenHttpMethodFilter for Spring WebFlux
Closes gh-14008
2018-08-17 13:40:43 +02:00
Andy Wilkinson f28528a527 Allow Data JPA's bootstrap mode to be configured via the environment
In Spring Data Lovelace, repositories' bootstrap mode can be
configured via @EnableJpaRepositories. This commit adds support for
configuring the mode via the environment rather than having to use
the annotation. Additionally, when deferred or lazy bootstrapping is
being used, the LocalContainerEntityManagerFactoryBean is configured
to use a bootstrap executor. This allows JPA's initialization to be
performed on a separate thread, allowing the rest of application
context initialization to proceed in parallel.

Closes gh-13833
2018-08-16 20:01:24 +01:00
Stephane Nicoll de470540ea Add auto-configuration support for TaskScheduler
This commit adds support for providing a default ThreadPoolTaskScheduler
with sensible defaults. A new TaskSchedulerBuilder is provided with
defaults from the `spring.task.scheduler.*` namespace and can be used
to create custom instances.

If no custom `TaskScheduler` bean is present, `@EnableScheduling` now
uses the auto-configured task scheduler.

Closes gh-1397
2018-08-16 14:55:57 +02:00
Stephane Nicoll 6ac6d36395 Polish 2018-08-16 10:43:28 +02:00
Brian Clozel 31a93035c1 Remove workaround for Netty resources cleanup
Closes gh-9146
2018-08-16 10:27:55 +02:00
Stephane Nicoll c00fc6449b Merge branch '2.0.x' 2018-08-15 14:37:40 +03:00
dreis2211 59d911d6e0 Remove @UsesUnsafeJava annotations
Closes gh-14072
2018-08-15 14:36:51 +03:00
Johnny Lim d5eaaf6e2a Polish
Closes gh-14049
2018-08-15 10:43:46 +03:00
Stephane Nicoll d0f272960e Merge branch '2.0.x' 2018-08-15 10:43:28 +03:00
Johnny Lim b4abccc07c Polish
See gh-14049
2018-08-15 10:43:04 +03:00
Madhura Bhave a8a75f1bbb Merge branch '2.0.x' 2018-08-14 11:25:24 -07:00
Madhura Bhave 895d092640 PropertySourcesLoader with highest precedence should win
Fixes gh-13955
2018-08-14 11:23:55 -07:00
Andy Wilkinson 9032e5b470 Update SSL tests and certs for Java 11 and TLSv1.3
See gh-14028
2018-08-14 08:51:38 +03:00
Madhura Bhave 727e9c6b0f Merge branch '2.0.x' 2018-08-13 12:23:48 -07:00
Madhura Bhave dfb97eb0f5 Convert environment if webApplicationType changes
If the web application type is set via properties,
it is available only after binding. The environment needs
to be converted to the appropriate type if it does not match.
If a custom environment is set, it is not converted.

Fixes gh-13977
2018-08-13 12:12:30 -07:00
Andy Wilkinson 04215e6651 Polish 2018-08-13 15:59:48 +01:00
Stephane Nicoll 6734e11222 Adapt MultipartConfig to use DataSize support
See gh-13974
2018-08-13 16:43:23 +03:00
Stephane Nicoll 94013aaba6 Add support for DataSize
This commit adds support for Spring Framework's `DataSize` allowing to
express a size in bytes and other convenient units.

Similar to the `Duration` support introduced previously, this commit
adds transparent binding support as well as detection of default values
in `@ConfigurationProperties`-annotated object.

Closes gh-13974
2018-08-13 16:43:23 +03:00
Andy Wilkinson da550efc6b Merge branch '2.0.x' 2018-08-10 12:50:31 +01:00
Andy Wilkinson 263e157ef0 Merge branch '1.5.x' into 2.0.x 2018-08-10 12:50:15 +01:00
Stephane Nicoll 0d04d7adf8 Migrate @EventListener to ApplicationListener
Closes gh-14041
2018-08-10 12:52:14 +02:00
Stephane Nicoll 817a8a8302 Polish 2018-08-10 09:48:57 +02:00
Stephane Nicoll 0ca8f1083a Fix ClassCastException message detection on Java 11
This commit also fixes the detection of a ClassCastException that can
be safely ignored on the module path with Java 9

Closes gh-14033
2018-08-10 09:48:22 +02:00
Stephane Nicoll c071f34a4a Add auto-configuration support for TaskExecutor
This commit adds support for providing a default ThreadPoolTaskExecutor
with sensible defaults. A new TaskExecutorBuilder is provided with
defaults from the `spring.task.*` namespace and can be used to create
custom instances.

If no custom `Executor` bean is present, `@EnableAsync` now uses the
auto-configure application task executor. Same goes for the async support
in Spring MVC.

Closes gh-1563
2018-08-06 11:00:40 +02:00
Stephane Nicoll a656513cb8 Merge branch '2.0.x' 2018-08-03 09:39:29 +02:00
Stephane Nicoll 20ea16fe9f Merge branch '1.5.x' into 2.0.x 2018-08-03 09:37:01 +02:00
Madhura Bhave b9fcb6a5e5 Merge branch '2.0.x' 2018-08-02 15:19:35 -07:00
Madhura Bhave 16aff4cd2c Refactor PropertySourcesDeducer
Prior to the changes that fixed #12451,
`FilteredPropertySources` and `CompositePropertySources` were required
by the `PropertySourcesDeducer` to ensure that configuration properties binding
could see changes to the environment even when there was a
PropertySourcesPlaceholderConfigurer in the context. #12451 changed the way
property sources are adapted by `SpringConfigurationPropertySources`, removing the
need for `FilteredPropertySources` and `CompositePropertySources`.

Fixes gh-13738
2018-08-02 15:00:01 -07:00
Madhura Bhave c41199bad1 Merge branch '2.0.x' 2018-08-02 11:01:47 -07:00
Madhura Bhave 7e2494ebdd Set environment active profiles according to processing order
Fixes gh-13965
2018-08-02 11:01:22 -07:00
Johnny Lim 02e82cd22b Remove unused dependencies
Closes gh-13973
2018-08-02 15:17:45 +02:00
Stephane Nicoll 960817a8c6 Merge branch '2.0.x' 2018-08-01 11:05:49 +02:00