[resteasy-commits] [resteasy/Resteasy] bf233e: [RESTEASY-2506] Async io (#2170)

Stéphane Épardaud noreply at github.com
Wed Feb 19 17:57:16 EST 2020


  Branch: refs/heads/master
  Home:   https://github.com/resteasy/Resteasy
  Commit: bf233e679c7e601cbfaff9247bfe3198febd4abf
      https://github.com/resteasy/Resteasy/commit/bf233e679c7e601cbfaff9247bfe3198febd4abf
  Author: Stéphane Épardaud <stef at epardaud.fr>
  Date:   2020-02-19 (Wed, 19 Feb 2020)

  Changed paths:
    M .gitignore
    M docbook/reference/en/en-US/modules/Asynchronous_HTTP.xml
    M docbook/reference/en/en-US/modules/Content_Marshalling_Providers.xml
    M docbook/reference/en/en-US/modules/Interceptors.xml
    M providers/jackson2/src/main/java/org/jboss/resteasy/plugins/providers/jackson/Jackson2JsonpInterceptor.java
    M providers/jackson2/src/main/java/org/jboss/resteasy/plugins/providers/jackson/ResteasyJackson2Provider.java
    M providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/AbstractJAXBProvider.java
    M providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/CollectionProvider.java
    M providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/JAXBElementProvider.java
    M providers/jaxb/src/main/java/org/jboss/resteasy/plugins/providers/jaxb/MapProvider.java
    M providers/json-binding/src/main/java/org/jboss/resteasy/plugins/providers/jsonb/JsonBindingProvider.java
    M providers/json-p-ee7/src/main/java/org/jboss/resteasy/plugins/providers/jsonp/JsonArrayProvider.java
    M providers/json-p-ee7/src/main/java/org/jboss/resteasy/plugins/providers/jsonp/JsonObjectProvider.java
    M providers/json-p-ee7/src/main/java/org/jboss/resteasy/plugins/providers/jsonp/JsonStructureProvider.java
    M providers/json-p-ee7/src/main/java/org/jboss/resteasy/plugins/providers/jsonp/JsonValueProvider.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/AbstractMultipartFormDataWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/AbstractMultipartRelatedWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/AbstractMultipartWriter.java
    A providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/HeaderFlushedAsyncOutputStream.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/HeaderFlushedOutputStream.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/ListMultipartWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MapMultipartFormDataWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MimeMultipartProvider.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormAnnotationWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartFormDataWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartRelatedWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/MultipartWriter.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/XopWithMultipartRelatedJAXBProvider.java
    M providers/multipart/src/main/java/org/jboss/resteasy/plugins/providers/multipart/XopWithMultipartRelatedWriter.java
    M providers/resteasy-atom/src/main/java/org/jboss/resteasy/plugins/providers/atom/AtomEntryProvider.java
    M providers/resteasy-atom/src/main/java/org/jboss/resteasy/plugins/providers/atom/AtomFeedProvider.java
    M providers/resteasy-html/src/main/java/org/jboss/resteasy/plugins/providers/html/HtmlServletDispatcher.java
    M resteasy-cache/resteasy-cache-core/src/main/java/org/jboss/resteasy/plugins/cache/server/ServerCacheInterceptor.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/AsyncMessageBodyWriter.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/AsyncOutputStream.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/AsyncOutputWriter.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/AsyncStreamingOutput.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/AsyncWriterInterceptor.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/AsyncWriterInterceptorContext.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/BlockingAsyncOutputStream.java
    M resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/HttpResponse.java
    M resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/ResteasyAsynchronousContext.java
    M resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/ResteasyAsynchronousResponse.java
    A resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/RunnableWithException.java
    M resteasy-core-spi/src/main/java/org/jboss/resteasy/spi/util/Types.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/AbstractAsynchronousResponse.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/AbstractExecutionContext.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/ResteasyContext.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/ServerResponseWriter.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/SynchronousDispatcher.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/SynchronousExecutionContext.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/interception/jaxrs/AbstractWriterInterceptorContext.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/interception/jaxrs/ContainerResponseContextImpl.java
    M resteasy-core/src/main/java/org/jboss/resteasy/core/interception/jaxrs/ServerWriterInterceptorContext.java
    A resteasy-core/src/main/java/org/jboss/resteasy/core/messagebody/AsyncBufferedMessageBodyWriter.java
    M resteasy-core/src/main/java/org/jboss/resteasy/mock/MockHttpRequest.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/interceptors/ServerContentEncodingAnnotationFilter.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/AbstractEntityProvider.java
    A resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/AsyncStreamingOutputProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/ByteArrayProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/DataSourceProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/DefaultBooleanWriter.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/DefaultNumberWriter.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/DefaultTextPlain.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/DocumentProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/FileProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/FileRangeWriter.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/FormUrlEncodedProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/IIOImageProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/InputStreamProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/JaxrsFormProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/ProviderHelper.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/ReaderProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/SerializableProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/SourceProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/StringTextStar.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/sse/SseBroadcasterImpl.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/sse/SseConstants.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/sse/SseEventOutputImpl.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/providers/sse/SseEventProvider.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/Filter30Dispatcher.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/FilterDispatcher.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/HttpResponseFactory.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/HttpServlet30Dispatcher.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/HttpServletDispatcher.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/HttpServletResponseWrapper.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/Servlet3AsyncHttpRequest.java
    M resteasy-core/src/main/java/org/jboss/resteasy/plugins/server/servlet/ServletContainerDispatcher.java
    A resteasy-core/src/main/java/org/jboss/resteasy/util/CommitHeaderAsyncOutputStream.java
    M resteasy-core/src/main/resources/META-INF/services/javax.ws.rs.ext.Providers
    M resteasy-spring/src/main/java/org/jboss/resteasy/springmvc/ResteasyWebHandlerTemplate.java
    M security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/doseta/DigitalSigningInterceptor.java
    M security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/EnvelopedWriter.java
    M security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/MultipartSignedWriter.java
    M security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureTextWriter.java
    M security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/smime/PKCS7SignatureWriter.java
    M server-adapters/resteasy-netty4/src/main/java/org/jboss/resteasy/plugins/server/netty/ChunkOutputStream.java
    A server-adapters/resteasy-netty4/src/main/java/org/jboss/resteasy/plugins/server/netty/MultiPromise.java
    M server-adapters/resteasy-netty4/src/main/java/org/jboss/resteasy/plugins/server/netty/NettyHttpRequest.java
    M server-adapters/resteasy-netty4/src/main/java/org/jboss/resteasy/plugins/server/netty/NettyHttpResponse.java
    M server-adapters/resteasy-netty4/src/main/java/org/jboss/resteasy/plugins/server/netty/NettyUtil.java
    A server-adapters/resteasy-netty4/src/test/java/org/jboss/resteasy/test/AsyncIOResource.java
    A server-adapters/resteasy-netty4/src/test/java/org/jboss/resteasy/test/AsyncIOTest.java
    A server-adapters/resteasy-netty4/src/test/java/org/jboss/resteasy/test/AsyncWriter.java
    A server-adapters/resteasy-netty4/src/test/java/org/jboss/resteasy/test/AsyncWriterData.java
    A server-adapters/resteasy-netty4/src/test/java/org/jboss/resteasy/test/BlockingWriter.java
    A server-adapters/resteasy-netty4/src/test/java/org/jboss/resteasy/test/BlockingWriterData.java
    M server-adapters/resteasy-undertow/src/main/java/org/jboss/resteasy/plugins/server/undertow/UndertowJaxrsServer.java
    A server-adapters/resteasy-undertow/src/test/java/org/jboss/resteasy/test/undertow/AsyncIOResource.java
    A server-adapters/resteasy-undertow/src/test/java/org/jboss/resteasy/test/undertow/AsyncIOTest.java
    A server-adapters/resteasy-undertow/src/test/java/org/jboss/resteasy/test/undertow/AsyncWriter.java
    A server-adapters/resteasy-undertow/src/test/java/org/jboss/resteasy/test/undertow/AsyncWriterData.java
    A server-adapters/resteasy-undertow/src/test/java/org/jboss/resteasy/test/undertow/BlockingWriter.java
    A server-adapters/resteasy-undertow/src/test/java/org/jboss/resteasy/test/undertow/BlockingWriterData.java
    M server-adapters/resteasy-vertx/pom.xml
    M server-adapters/resteasy-vertx/src/main/java/org/jboss/resteasy/plugins/server/vertx/ChunkOutputStream.java
    M server-adapters/resteasy-vertx/src/main/java/org/jboss/resteasy/plugins/server/vertx/VertxHttpRequest.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/AsyncIOResource.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/AsyncIOTest.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/AsyncThrowingWriter.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/AsyncThrowingWriterData.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/AsyncWriter.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/AsyncWriterData.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/BlockingThrowingWriter.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/BlockingThrowingWriterData.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/BlockingThrowingWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/BlockingWriter.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/BlockingWriterData.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/BlockingWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/InterceptorFeature.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/MyAsyncThrowingWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/MyAsyncWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/ObjectFactory.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/WithAsyncThrowingWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/WithAsyncWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/WithBlockingThrowingWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/java/org/jboss/resteasy/test/asyncio/WithBlockingWriterInterceptor.java
    A server-adapters/resteasy-vertx/src/test/resources/file.txt
    M testsuite/integration-tests-embedded/src/test/java/org/jboss/resteasy/embedded/test/core/interceptors/resource/ReaderContextFirstWriterInterceptor.java
    M testsuite/integration-tests-embedded/src/test/java/org/jboss/resteasy/embedded/test/core/interceptors/resource/ReaderContextSecondWriterInterceptor.java
    M testsuite/integration-tests/src/test/java/org/jboss/resteasy/test/UndertowTestRunner.java
    M testsuite/integration-tests/src/test/java/org/jboss/resteasy/test/cdi/interceptors/resource/InterceptorResource.java
    M testsuite/integration-tests/src/test/java/org/jboss/resteasy/test/providers/plain/resource/DefaultNumberWriterCustom.java

  Log Message:
  -----------
  [RESTEASY-2506] Async io (#2170)

* Support async IO message body writers

* Ignore new Eclipse file

* Support async IO in JSON-B

* UndertowTestRunner: support Application classes

* Flush SSE on close, make sure send events are atomic

* Complete flush promises

* Fixed the ordering issue

* Do not fullfil promises more than once

* Added async writer interceptors

* Implement more async body writers

* Made type argument lookup work for super-interfaces

* Most async writers done, added a Writer interface, Buffered impl/compat interface

* Moved AsyncMessageBodyWriter to spi

* Async writer tests on vertx

* Async the SSE writer

* Renamed AsyncOutputStream.rx* to async*

* Fixed bug introduced in master

* DOCS

* Bytes and proper encodings

* MultiPromise: add synchronized

* Test throwing in async writers/interceptors

* Flush servlet async operation queue on error





More information about the resteasy-commits mailing list