https://bz.apache.org/bugzilla/show_bug.cgi?id=58624
--- Comment #10 from Barry Coughlan <b.coughl...@gmail.com> ---
(In reply to Mark Thomas from comment #9)
> Thanks for the great analysis and test case. I've fixed this in 9.0.x for
> 9.0.0.M2. There has been some refactoring of the relevant code so a
> back-port may take a little longer than usual.

Thanks a lot for the speedy fix Mark.

For future readers, we currently work around this in Tomcat 8 by replicating
the behaviour of getBasicRemote().sendObject() but with a timeout on the
future, so that at least our application can recover: 

Future<Void> f = session.getAsyncRemote().sendObject(...)        
try {
    f.get(10, TimeUnit.SECONDS);
} catch (InterruptedException e) {
    throw new IOException(e);
} catch (ExecutionException e) {
    Throwable cause = e.getCause();
    if (cause instanceof IOException) {
        throw (IOException) cause;
    } else if (cause instanceof EncodeException) {
        throw (EncodeException) cause;
    } else {
        throw new IOException(e);
    }
} catch (TimeoutException e) {
    throw new IOException(e);
}

-- 
You are receiving this mail because:
You are the assignee for the bug.

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

Reply via email to