Commit Graph

14613 Commits

Author SHA1 Message Date
Juergen Hoeller baa7b1c6c8 Simplified match condition checks
Issue: SPR-15477
2017-04-27 21:31:50 +02:00
Juergen Hoeller 17f274fd6a Debug log messages for value retrieval exceptions
Issue: SPR-15481
2017-04-27 21:31:39 +02:00
Andy Clement c1edb3b5bd Enforce limit on classes loaded by Spel compiled expression loader
Until this change a single classloader was used to load
all compiled SpEL expressions. This meant in a context where an
expression was repeatedly flipping between compiled and interpreted
mode (which can happen if in MIXED mode compilation and changing
the context around the evaluation) the classloader would continually
load a new compiled version but not orphan the old compiled version.
This eventually uses up all the memory as the number of classes
is ever increasing.

With this change classloaders are used to load 100 compiled
expressions. The 101st will be loaded by a new one. Orphaning the
old classloader means if an expression is ever recompiled there
is more likely to be no anchored references left to the older
compiled form and it can be GC'd. In the MIXED situation above it
should help alleviate the problem of older classes never being
candidates for GC.

Issue: SPR-15460
2017-04-27 11:31:56 -07:00
Juergen Hoeller cd95f34666 Merge pull request #1399 from dreis2211/SPR-15477
Optimize AntPathMatcher when checking for potential matches
2017-04-27 20:26:37 +02:00
Christoph Dreis 13b39521d8 Optimize AntPathMatcher when checking for potential matches
Issue: SPR-15477
2017-04-27 19:04:36 +02:00
Juergen Hoeller d9bde0812f Merge pull request #1373 from lc-nyovchev/master
HttpOnly Cookie Result Matcher
2017-04-27 15:20:07 +02:00
nyo e80de55929 Added httpOnly cookie ResultMatcher 2017-04-27 14:22:00 +02:00
Stephane Nicoll 547c4f69a4 Add getTargetDataSource to TransactionAwareCacheDecorator
Issue: SPR-15479
2017-04-27 11:34:10 +02:00
Stephane Nicoll 333e5c6b01 Polish 2017-04-27 11:29:14 +02:00
Juergen Hoeller 0479dc96c4 Correct attributeHasNoErrors message in ModelResultMatchers
Includes consistent name quoting and use of Java 8 lambdas.

Issue: SPR-15487
2017-04-26 21:32:50 +02:00
Sam Brannen 4b1e3df283 Clean up warnings in spring-test 2017-04-26 19:15:51 +02:00
Sam Brannen c855182e03 Polishing 2017-04-26 18:59:43 +02:00
Juergen Hoeller c668d9a473 Polishing 2017-04-26 18:20:19 +02:00
Juergen Hoeller 3daf626842 Defensive fallback for file system resolution in lastModified()
Issue: SPR-15485
2017-04-26 18:17:00 +02:00
Juergen Hoeller 8b50f887db Caching annotations on interface methods with CGLIB proxies
Issue: SPR-15271
2017-04-26 18:16:47 +02:00
Juergen Hoeller 6c43d14a77 Async annotations on interface methods with CGLIB proxies
Issue: SPR-14949
2017-04-26 18:16:40 +02:00
Juergen Hoeller 42d6d7ec4e Transaction annotations on interface methods with CGLIB proxies
Issue: SPR-14322
2017-04-26 18:16:31 +02:00
Arjen Poutsma 4a8c99c9ce Consistent handling of 4xx/5xx status codes in WebClient
This commit changes the handling of 4xx/5xx status codes in the
WebClient to the following simple rule: if there is no way for the user
to get the response status code, then a WebClientException is returned.
If there is a way to get to the status code, then we do not return an
exception.

Issue: SPR-15486
2017-04-26 17:50:59 +02:00
Arjen Poutsma 0e7d6fc4d1 Rename WebClient.ResponseSpec.bodyToEntity[List] to toEntity[List]
This commit renames `WebClient.ResponseSpec.bodyToEntity` to `toEntity`
and similarly renames `WebClient.ResponseSpec.bodyToEntityList` to
`toEntityList`. In both cases, the `body` prefix was dropped because the
return value contains more than the body.

Issue: SPR-15486
2017-04-26 17:50:59 +02:00
Oleg Zhurakousky 299b9d60fd SPR-15481 Fixed AnnotationUtils.getValue() operation
- Fixed AnnotationUtils.getValue() operation to ensure it re-throws AnnotationConfigurationException instead of swallowing it (as it is done in few other operations in AnnotationUtils)
- Added test
- Removed unnecessary '@SuppressWarnings("unchecked")'
2017-04-26 15:05:32 +02:00
Brian Clozel 2579dab209 Get XNIO as an undertow transitive dependency 2017-04-26 10:24:23 +02:00
Juergen Hoeller 140379fe7e Upgrade to Kotlin 1.1.2 GA 2017-04-26 09:48:35 +02:00
Rossen Stoyanchev 191bbc20dc StandaloneMockMvcBuilder allows custom HandlerMapping
Issue: SPR-15472
2017-04-25 17:23:20 -04:00
Rossen Stoyanchev 60442ec33d Revert build.gradle change committed by mistake 2017-04-25 16:34:07 -04:00
Rossen Stoyanchev 4f3db9b822 Disable Servlet async request timeout in WebFlux
Issue: SPR-15463
2017-04-25 16:28:25 -04:00
Juergen Hoeller 61a4eaf3cf Upgrade to Jackson 2.9 PR3
Issue: SPR-14925
2017-04-25 22:22:16 +02:00
Rossen Stoyanchev 6e71828a35 Add space before cookie attributes
According to RFC-6265 that there should be a space between the ; and
the attribute name, i.e. the header should be something like
name=value; Domain=localhost; HttpOnly rather than
name=value;Domain=localhost;HttpOnly

Issue: SPR-15225
2017-04-25 16:07:25 -04:00
Rossen Stoyanchev abe3cfd8de Flux<String> + "application/json" renders as text
Spring MVC now treats Flux<String> + "application/json" as (serialized)
text to be written directly to the response as is. This is consistent
with the rendering of String + "application/json".

Issue: SPR-15456
2017-04-25 12:47:13 -04:00
Rossen Stoyanchev c67b0d6507 Properly support ResponseEntity<Flux<T>> in Spring MVC
Issue: SPR-15478
2017-04-25 12:03:59 -04:00
Sebastien Deleuze 20718e682e Polishing 2017-04-25 12:16:11 +02:00
Arjen Poutsma b9dbac7b2c Rename ServerResponse.BodyBuilder.body to syncBody
This commit renames the `body(Object)` on ServerResponse to
`syncBody(Object)`. The reason for this is that the original method
name clashed with the `body(Publisher)` method in the Kotlin extension.

The new name nicely reflects the synchronous nature of the method,
 making it less appealing than the `Publisher`-based `body` method.

Issue: SPR-15467
2017-04-25 11:33:47 +02:00
Sebastien Deleuze 6a1ce13ae2 Upgrade Kotlin to 1.1.2-eap-77 2017-04-25 11:00:16 +02:00
Stephane Nicoll a38b03f669 Merge pull request #1398 from QBNemo:master
* pr/1398:
  Polish "Reuse constant in DispatcherServlet"
  Reuse constant in DispatcherServlet
2017-04-25 10:07:56 +02:00
Stephane Nicoll 239b7086c6 Polish "Reuse constant in DispatcherServlet"
Closes gh-1398
2017-04-25 10:06:51 +02:00
QBNemo 224e369484 Reuse constant in DispatcherServlet
See gh-1398
2017-04-25 09:51:38 +02:00
Juergen Hoeller 3ffe7a283f Latest dependency updates (RxJava 2.0.9, Undertow 1.4.13, JSON-B 1.0 M2) 2017-04-24 22:19:10 +02:00
Stephane Nicoll cf6031f98e Fix duplicated entry in spring-core module
Issue: SPR-15462
2017-04-24 13:12:48 +02:00
Violeta Georgieva 4d058ceef4 Resume Undertow writes only when data is available 2017-04-24 11:17:37 +02:00
Sam Brannen 55833dc3d1 Discontinue use of Rouge in the Reference Manual
Due to a bug in Rouge thats prevents it from working on MS Windows, we
are currently reverting back to CodeRay for source code highlighting
within the Reference Manual.

Issues: SPR-15471
2017-04-22 19:02:46 +02:00
Stephane Nicoll 624790e7ab Merge pull request #1397 from jtigger:patch-1
* pr/1397:
  Remove extraneous asterisk
2017-04-21 09:48:27 +02:00
John Ryan 33d7816de3 Remove extraneous asterisk
Closes gh-1397
2017-04-21 09:48:03 +02:00
Rossen Stoyanchev 7df3d68b2a Replace WebMvcConfigurerAdapter with default methods
Issue: SPR-15465
2017-04-20 16:14:13 -04:00
Rossen Stoyanchev d3b178a812 Consistent JSON array result for Flux<T> in Spring MVC
Issue: SPR-15456
2017-04-20 09:19:38 -04:00
Rossen Stoyanchev cc102c2fcd Properly handle Flux<?> and Flux<Object> in WebFlux
Issue: SPR-15464
2017-04-20 09:19:38 -04:00
Rossen Stoyanchev a93698487e Fix handling for ResponseEntity<Flux<T>> in Spring MVC
Issue: SPR-15456
2017-04-20 09:19:38 -04:00
Rossen Stoyanchev 633544943f Polish 2017-04-20 09:19:38 -04:00
Juergen Hoeller 62584a5337 Latest dependency updates (Tomcat 8.5.14, Jetty 9.4.4, OkHttp 3.7, POI 3.16, Rome 1.7.2, EhCache 2.10.4) 2017-04-20 15:19:27 +02:00
Arjen Poutsma 03861df0ba Polishing 2017-04-20 11:02:02 +02:00
Andy Clement cd86558811 Support optional trailing separator on path pattern matching
This commit adds the ability for path patterns to automatically
match a trailing separator (so there is no need to add two
variants of a pattern, one with and one without). This behaviour
is currently turned off but a simple tweak in PathPatternParser
can make it the default. If made default other parts of Spring
may need altering (simplifying hopefully) to cope with this.

Issue: SPR-15260
2017-04-19 11:59:21 -07:00
Juergen Hoeller e93e49f268 ErrorMessage.toString() includes original message at top level
Issue: SPR-15459
2017-04-19 20:50:20 +02:00