Использование Async-IO сервлета 3.1 с Spring - PullRequest
1 голос
/ 11 марта 2019

Как использовать 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

...