Hi,

I am trying to write a servlet that asynchronously read data from the
servlet request input stream.
I tested my servlet with tomcat 8.0.0-RC5.

the symptoms:
- I must synchronously read the input stream in onDataAvailable() so
that the upload works

what I expected:
I want to be more "reactive" (buzzword of the moment) and not read the
input stream until I am ready (=until the previous chunk is processed)
I though I could return from onDataAvailable() before having read all
the data, read the data in another thread. I expected
onDataAvailable() to be called again when I consumed all the data
(servletInputStream.isReady becomes false)
That way, I could implement back pressure on the browser as long as my
servlet has not finished its work with the actual chunk

But if I do that, neither onDataAvailable() nor onAllDataRead() is called again.

When I consume the input stream synchronously in onDataAvailable(), it
works as expected.

Am I misunderstanding the asynchron IO in Tomcat 8?

Thanks in advance for any ideas!
Yann

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to