Commit Graph

15458 Commits

Author SHA1 Message Date
Rossen Stoyanchev
b11caeb3ea Fix headings in WebFlux section 2017-10-05 22:43:26 -04:00
Rossen Stoyanchev
ee3913c6d0 Use Tocbot for Table of Contents 2017-10-05 22:23:38 -04:00
Rossen Stoyanchev
8aaa7e9cc7 Polish index.html 2017-10-05 15:31:27 -04:00
Rossen Stoyanchev
eea8ee2165 Migrate JSP tag library appendix reference to Javadoc.
The Javadoc on tag classes now has all the information including a
list of all tags at the package level, HTML tables listing tag
attributes in each tag class, and class level description that is
as good or in many cases better than what was in the reference.

Issue: SPR-16045
2017-10-05 14:25:23 -04:00
Rossen Stoyanchev
e5a5677fcd Appendix refactoring
1. Move schemas to local appendix within each top-level section.
2. Link to Javadoc for JSP tags
3. Purge Class Spring usage information

Issue: SPR-16045
2017-10-05 14:25:18 -04:00
Rossen Stoyanchev
d04d4bfb4d Better "no content" support and polish in WebTestClient
The WebTestClient now takes advantage of the support for decoding
response to Void.class in WebClient so that applications can use
expectBody(Void.class) to the same effect as using
response.bodyToMono(Void.class) as documneted on WebClient#exchange.

The top-level, no-arg returnResult method (added very recently) has been
retracted, since the use of returnResult at that level, i.e. without
consuming the response content, should be used mainly for streaming.
It shouldn't be used for "no content" scenarios.

Documentation and Javadoc have been udpated accordingly.
2017-10-04 15:05:25 -04:00
Rossen Stoyanchev
decb6329db DefaultWebTestClient internal refactoring
Use the ClientResponse methods bodyToMono and bodyToFlux rather than
passing in a BodyExtractor so that WebTestclient now also benefits from
the recently improved handling of Void.class.
2017-10-04 15:05:25 -04:00
Juergen Hoeller
66a6fdacca Deprecate HibernateJpaSessionFactoryBean (against Hibernate 5.2)
Issue: SPR-16016
2017-10-04 12:29:16 +02:00
Juergen Hoeller
03b68286a2 Tokenizer uses single process step and length-based exhaustion check
Issue: SPR-16032
2017-10-04 12:23:16 +02:00
Rossen Stoyanchev
b2017bb1ec 3rd party web frameworks is back in the web section 2017-10-03 18:06:13 -04:00
Rossen Stoyanchev
45c207aece What's new and migrating are prominently featured
Before this commit those were burried in the Appendix where few would
guess to look. Previously that information was at the top, so it makes
sense to point to the Github wiki from the index HTML page.

Also a general update of the index page. Since we have recently revised
the overview, we can simply point to it and keep it shorter.

The section listing now includes more details per section.
2017-10-03 17:59:07 -04:00
Rossen Stoyanchev
6597551858 WebClient content included in WebFlux section only
Before this commit WebClient documentation was also included from the
Integration section where the RestTemplate is documented. That is
convenient but results in duplicate content under different URLs.

This commit removes the include from the Integration section and leaves
2017-10-03 17:59:07 -04:00
Juergen Hoeller
3eebdb389b Upgrade to JUnit 5.0.1 and Tomcat 8.5.23 2017-10-03 20:20:35 +02:00
Rossen Stoyanchev
fbf2e1e355 Documentation for WebTestClient
Issue: SPR-16009
2017-10-03 10:00:48 -04:00
Sebastien Deleuze
2ecd5a4f02 Update Kotlin issues list in the refdoc 2017-10-03 15:49:37 +02:00
Stephane Nicoll
34a7991e18 Merge pull request #1547 from tomfitzhenry:patch-1
* pr/1547:
  Fix typo in exception message: quite -> quiet
2017-10-03 08:25:01 +02:00
Tom Fitzhenry
1fe3e0cd06 Fix typo in exception message: quite -> quiet
Closes gh-1547
2017-10-03 08:24:34 +02:00
Juergen Hoeller
c9d3c2690d Properly resolve null candidates for collection injection
Issue: SPR-16033
2017-10-02 12:27:11 +02:00
Stephane Nicoll
30d1b53aa5 Merge pull request #1545 from MottoX:fix-typo
* pr/1545:
  Fix typo
2017-10-01 09:23:23 +02:00
Robin Wang
d9c0151d41 Fix typo
Closes gh-1545
2017-10-01 09:23:07 +02:00
Sebastien Deleuze
cf86f9b3dd Polish Kotlin reference documentation 2017-09-30 19:59:34 +02:00
Sam Brannen
657dc961f4 Polishing 2017-09-30 15:25:51 +02:00
Rossen Stoyanchev
7a8c8c062e Add reactive mocks to testing section 2017-09-29 20:21:01 -04:00
Rossen Stoyanchev
48c41049b1 Correct package for MockServerWebExchange
Discovered late, but not too late. MockServerWebExchange is now in the
proper package matching to the location of ServerWebExchange.
2017-09-29 17:03:23 -04:00
Rossen Stoyanchev
223e27d53d Package private request and response implementations
Concrete server and client, reactive request and response
implementations should not have to be accessed outside their package.
They could be seen as private to their HttpHandler adapters and
ClientHttpConnector's respectively.

The one exception, WebSocket upgrades in spring-webflux, is an internal
framework use case, accommodated via downcast + accessors in the
abstract base classes.
2017-09-29 13:04:03 -04:00
Juergen Hoeller
95fdfac128 Upgrade to Gradle 4.2 (and Netty 4.1.16)
Issue: SPR-15985
2017-09-29 17:57:11 +02:00
Stephane Nicoll
cee9d1c08f Fix formatting
Closes gh-1483
2017-09-29 14:41:57 +02:00
Stephane Nicoll
1f0f292bab Merge pull request #1535 from nkjackzhang:patch-3
* pr/1535:
  Fix typos in spring-mvc.xsd
2017-09-29 14:36:59 +02:00
nkjackzhang
b11d1f5f9b Fix typos in spring-mvc.xsd
Closes gh-1535
2017-09-29 14:36:26 +02:00
Stephane Nicoll
f2d040c41c Fix link to "Message Converters" section
Issue: SPR-16024
2017-09-29 14:31:50 +02:00
Sebastien Deleuze
12e1ad9163 Upgrade to Kotlin 1.1.51 2017-09-29 12:30:20 +02:00
Arjen Poutsma
69945f4185 WebClient throws ClassCastException for bodyToMono(ParameterizedTypeReference)
Prior to this commit, the `WebClient` always throws a `ClassCastException`
when an error occurs in `bodyToMono(ParameterizedTypeReference)``, and
not the expected exception, as set up by `onStatus`

Issue: SPR-16025
2017-09-29 10:15:40 +02:00
Rossen Stoyanchev
d332e06f6c Update reference after removal of ClientResponse.close() 2017-09-28 16:11:48 -04:00
David Harrigan
b7708d989b Improve Kotlin documentation readability 2017-09-28 22:02:25 +02:00
Rossen Stoyanchev
2c2bbb45b9 Fix typo 2017-09-28 14:53:43 -04:00
Nikola Kolosnjaji
7c5dd03c9d Correct ResourceTransformer name 2017-09-28 19:55:07 +02:00
Sam Brannen
2408e2515a Escape hashtag in Testing chapter to disable Asciidoc highlighting 2017-09-28 16:44:08 +02:00
Jussi Hallila
1440026fb4 Change bean registration to use initialize
This commit changes the reference documentation to conform
with the updated API defined in
8b8a6766de
2017-09-28 15:02:25 +02:00
Spring Buildmaster
5c7bd0a9ea Next Development Version 2017-09-28 11:28:33 +00:00
Juergen Hoeller
c078e2eb1d Overview with explicit JDK 9 (Jigsaw) and Java EE 8 references 2017-09-28 11:47:50 +02:00
Juergen Hoeller
255ccf58e0 Remove snapshot repository from build setup 2017-09-28 11:45:33 +02:00
Rossen Stoyanchev
5733065ba4 Rename webflux-client.adoc to webflux-webclient.adoc 2017-09-28 01:16:51 -04:00
Rossen Stoyanchev
67910ee48c WebFlux and Integration share webflux-client.adoc
Extract WebClient content into a separate file that is now included
both in the WebFlux and in the Integration sections.

This allows having RestTemplate and WebClient documented in one place
under Integration while also keeping the same included in the WebFlux
section too.
2017-09-27 23:34:45 -04:00
Rossen Stoyanchev
71ccf3c9e3 Polish 2017-09-27 22:48:26 -04:00
Rossen Stoyanchev
13c959296a Polish 2017-09-27 22:04:07 -04:00
Rossen Stoyanchev
869b818e96 WebFlux support for LocaleContext related arguments
Issue: SPR-15998
2017-09-27 22:03:42 -04:00
Rossen Stoyanchev
0f1bd49f6d HandlerMappingIntrospector is a bean 2017-09-27 21:28:49 -04:00
Brian Clozel
126ac849e5 Fix behavior of ClientResponse#bodyTo** with Void
Prior to this commit, asking for a `Void` type using any of the
`ClientResponse#bodyTo*` methods would immediately return an empty
`Publisher` without consuming the response body.

Not doing so can lead to HTTP connection pool inconsistencies and/or
memory leaks, since:

* a connection that still has a response body being written to it cannot
be properly recycled in the connection pool
* incoming `DataBuffer` might not be released

This commit detects when `Void` types are asked as body types and in
those cases does the following:

1. Subscribe to the response body `Publisher` to allow the connection to
be returned to the connection pool
2. `cancel()` the body `Publisher` if the response body is not empty; in
that case, we choose to close the connection vs. consume the whole
response body

Those changes imply that `ClientHttpResponse` and other related
contracts don't need a `close()` method anymore.

Issue: SPR-16018
2017-09-28 00:58:38 +02:00
Juergen Hoeller
ec345bf162 Revised handling of missing data class arguments
Includes unified detection of Kotlin's optional parameters in MethodParameter.isOptional(), reduces BeanUtils.findPrimaryConstructor to Kotlin semantics (for reuse in AutowiredAnnotationBeanPostProcessor), and finally introduces a common KotlinDetector delegate with an isKotlinType(Class) check.

Issue: SPR-15877
Issue: SPR-16020
2017-09-28 00:31:12 +02:00
Sam Brannen
d3129a8bd7 Convert selected examples to JUnit Jupiter in reference manual
Issue: SPR-14524
2017-09-27 23:27:44 +02:00