I have a fully working program in tomcat 7 (spring 4.0.6) that uses DeferredResult .
I am using long polling to get a message from the server, and when a message is dispatched it immediately reaches the client.
After upgrading to tomcat 8 (tried pivotal TC server 3.0.0 as well as Tomcat 8.0.11), this stops working and client waits forever for a response.
After a while the messages do appear on the client's end.
I tried upgrading to spring 4.1 and this did not help.
The only resolution I've found is going back to tomcat 7 or making my function that runs deferredResult.setResult(...) @Async (not sure why this resolves the issue... maybe because it leaves tomcat http threads and moves to my thread pool?).
May this be related to tomcat 8 using NIO connector as default?