├── .gitignore ├── README.md ├── pom.xml ├── servlet-async-io ├── README.md ├── benchmark.jmx ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── me │ │ │ └── chanjar │ │ │ └── learning │ │ │ ├── AsyncReadServlet.java │ │ │ ├── AsyncWriteServlet.java │ │ │ └── Main.java │ │ └── resources │ │ └── bigfile └── user.properties ├── servlet-async-processing ├── README.md ├── benchmark.jmx ├── pom.xml └── src │ └── main │ └── java │ └── me │ └── chanjar │ └── learning │ ├── AsyncServlet1.java │ ├── AsyncServlet2.java │ ├── Main.java │ ├── SlowJob.java │ ├── SlowJobRunner.java │ └── SyncServlet.java ├── spring-mvc-async-io ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── me │ │ └── chanjar │ │ └── learning │ │ ├── Application.java │ │ ├── AsyncReadController.java │ │ ├── AsyncWriteController.java │ │ ├── CallableTraceController.java │ │ ├── config │ │ └── AsyncInterceptorConfiguration.java │ │ └── slowjob │ │ └── SlowJob.java │ └── resources │ └── application.properties ├── spring-mvc-async-processing ├── README.md ├── pom.xml └── src │ └── main │ └── java │ └── me │ └── chanjar │ └── learning │ ├── Application.java │ ├── CallableController.java │ ├── CompletionFutureController.java │ ├── DeferredResultController.java │ ├── ListenableFutureController.java │ ├── ResponseBodyEmitterController.java │ ├── SseEmitterController.java │ ├── StreamingResponseBodyController.java │ ├── config │ ├── ExecutorServiceConfiguration.java │ └── MvcAsyncTaskExecutorConfigurer.java │ └── slowjob │ └── SlowJob.java └── tomcat-start ├── pom.xml └── src └── main └── java └── me └── chanjar └── learning └── TomcatStart.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/README.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/pom.xml -------------------------------------------------------------------------------- /servlet-async-io/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/README.md -------------------------------------------------------------------------------- /servlet-async-io/benchmark.jmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/benchmark.jmx -------------------------------------------------------------------------------- /servlet-async-io/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/pom.xml -------------------------------------------------------------------------------- /servlet-async-io/src/main/java/me/chanjar/learning/AsyncReadServlet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/src/main/java/me/chanjar/learning/AsyncReadServlet.java -------------------------------------------------------------------------------- /servlet-async-io/src/main/java/me/chanjar/learning/AsyncWriteServlet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/src/main/java/me/chanjar/learning/AsyncWriteServlet.java -------------------------------------------------------------------------------- /servlet-async-io/src/main/java/me/chanjar/learning/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/src/main/java/me/chanjar/learning/Main.java -------------------------------------------------------------------------------- /servlet-async-io/src/main/resources/bigfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/src/main/resources/bigfile -------------------------------------------------------------------------------- /servlet-async-io/user.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-io/user.properties -------------------------------------------------------------------------------- /servlet-async-processing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/README.md -------------------------------------------------------------------------------- /servlet-async-processing/benchmark.jmx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/benchmark.jmx -------------------------------------------------------------------------------- /servlet-async-processing/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/pom.xml -------------------------------------------------------------------------------- /servlet-async-processing/src/main/java/me/chanjar/learning/AsyncServlet1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/src/main/java/me/chanjar/learning/AsyncServlet1.java -------------------------------------------------------------------------------- /servlet-async-processing/src/main/java/me/chanjar/learning/AsyncServlet2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/src/main/java/me/chanjar/learning/AsyncServlet2.java -------------------------------------------------------------------------------- /servlet-async-processing/src/main/java/me/chanjar/learning/Main.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/src/main/java/me/chanjar/learning/Main.java -------------------------------------------------------------------------------- /servlet-async-processing/src/main/java/me/chanjar/learning/SlowJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/src/main/java/me/chanjar/learning/SlowJob.java -------------------------------------------------------------------------------- /servlet-async-processing/src/main/java/me/chanjar/learning/SlowJobRunner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/src/main/java/me/chanjar/learning/SlowJobRunner.java -------------------------------------------------------------------------------- /servlet-async-processing/src/main/java/me/chanjar/learning/SyncServlet.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/servlet-async-processing/src/main/java/me/chanjar/learning/SyncServlet.java -------------------------------------------------------------------------------- /spring-mvc-async-io/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/README.md -------------------------------------------------------------------------------- /spring-mvc-async-io/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/pom.xml -------------------------------------------------------------------------------- /spring-mvc-async-io/src/main/java/me/chanjar/learning/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/src/main/java/me/chanjar/learning/Application.java -------------------------------------------------------------------------------- /spring-mvc-async-io/src/main/java/me/chanjar/learning/AsyncReadController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/src/main/java/me/chanjar/learning/AsyncReadController.java -------------------------------------------------------------------------------- /spring-mvc-async-io/src/main/java/me/chanjar/learning/AsyncWriteController.java: -------------------------------------------------------------------------------- 1 | package me.chanjar.learning; 2 | 3 | public class AsyncWriteController { 4 | } 5 | -------------------------------------------------------------------------------- /spring-mvc-async-io/src/main/java/me/chanjar/learning/CallableTraceController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/src/main/java/me/chanjar/learning/CallableTraceController.java -------------------------------------------------------------------------------- /spring-mvc-async-io/src/main/java/me/chanjar/learning/config/AsyncInterceptorConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/src/main/java/me/chanjar/learning/config/AsyncInterceptorConfiguration.java -------------------------------------------------------------------------------- /spring-mvc-async-io/src/main/java/me/chanjar/learning/slowjob/SlowJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/src/main/java/me/chanjar/learning/slowjob/SlowJob.java -------------------------------------------------------------------------------- /spring-mvc-async-io/src/main/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-io/src/main/resources/application.properties -------------------------------------------------------------------------------- /spring-mvc-async-processing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/README.md -------------------------------------------------------------------------------- /spring-mvc-async-processing/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/pom.xml -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/Application.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/CallableController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/CallableController.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/CompletionFutureController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/CompletionFutureController.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/DeferredResultController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/DeferredResultController.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/ListenableFutureController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/ListenableFutureController.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/ResponseBodyEmitterController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/ResponseBodyEmitterController.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/SseEmitterController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/SseEmitterController.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/StreamingResponseBodyController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/StreamingResponseBodyController.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/config/ExecutorServiceConfiguration.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/config/ExecutorServiceConfiguration.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/config/MvcAsyncTaskExecutorConfigurer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/config/MvcAsyncTaskExecutorConfigurer.java -------------------------------------------------------------------------------- /spring-mvc-async-processing/src/main/java/me/chanjar/learning/slowjob/SlowJob.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/spring-mvc-async-processing/src/main/java/me/chanjar/learning/slowjob/SlowJob.java -------------------------------------------------------------------------------- /tomcat-start/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/tomcat-start/pom.xml -------------------------------------------------------------------------------- /tomcat-start/src/main/java/me/chanjar/learning/TomcatStart.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chanjarster/web-async-learn/HEAD/tomcat-start/src/main/java/me/chanjar/learning/TomcatStart.java --------------------------------------------------------------------------------