Как использовать Async-IO
(setWriteListener) из Servlet3.1
с Spring-5?
Также я нашел Link-A , в котором упоминается, что нужно добавить Listener в outputStream.
С другой стороны, Link-B говорит, что он должен работать с spring 5
и tomcat 8.5+
.
Затем я профилировал JVM и обнаружил, что CoyoteOutputStream.checkNonBlockingWrite
всегда возвращает false
с образцами кода deferredResult
и NON-DeferredResult
.
//MY TEST CODE
@GetMapping("/health")
public DeferredResult<DummyDTO> upNRuning(){
DeferredResult<DummyDTO> defferedResult = new DeferredResult<>();
newCachedThreadPool.submit(() ->
defferedResult.setResult(new DummyDTO()));
return defferedResult;
}
Мне не удалось попробовать Link-A
рекомендацию, так как я не уверен в реализации NioReadListener
и ее аргументах.
PS:
Среда Spring-boot-2.0.4.RELEASE + Windows