Author: markt Date: Wed May 22 22:03:11 2013 New Revision: 1485458 URL: http://svn.apache.org/r1485458 Log: Cleaner handling of errors Session may have been closed after an error so get the latch before it closes.
Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TesterSingleMessageClient.java Modified: tomcat/trunk/test/org/apache/tomcat/websocket/TesterSingleMessageClient.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TesterSingleMessageClient.java?rev=1485458&r1=1485457&r2=1485458&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/tomcat/websocket/TesterSingleMessageClient.java (original) +++ tomcat/trunk/test/org/apache/tomcat/websocket/TesterSingleMessageClient.java Wed May 22 22:03:11 2013 @@ -35,19 +35,19 @@ public class TesterSingleMessageClient { public static class TesterProgrammaticEndpoint extends Endpoint { + private CountDownLatch latch = null; + @Override public void onClose(Session session, CloseReason closeReason) { - clearLatch(session); + clearLatch(); } @Override public void onError(Session session, Throwable throwable) { - clearLatch(session); + clearLatch(); } - private void clearLatch(Session session) { - CountDownLatch latch = - (CountDownLatch) session.getUserProperties().get("latch"); + private void clearLatch() { if (latch != null) { while (latch.getCount() > 0) { latch.countDown(); @@ -57,27 +57,26 @@ public class TesterSingleMessageClient { @Override public void onOpen(Session session, EndpointConfig config) { - // NO-OP + latch = (CountDownLatch) session.getUserProperties().get("latch"); } } @ClientEndpoint public static class TesterAnnotatedEndpoint { + private CountDownLatch latch = null; + @OnClose - public void onClose(Session session) { - clearLatch(session); + public void onClose() { + clearLatch(); } @OnError - public void onError(Session session, - @SuppressWarnings("unused") Throwable throwable) { - clearLatch(session); + public void onError(@SuppressWarnings("unused") Throwable throwable) { + clearLatch(); } - private void clearLatch(Session session) { - CountDownLatch latch = - (CountDownLatch) session.getUserProperties().get("latch"); + private void clearLatch() { if (latch != null) { while (latch.getCount() > 0) { latch.countDown(); @@ -86,8 +85,8 @@ public class TesterSingleMessageClient { } @OnOpen - public void onOpen() { - // NO-OP + public void onOpen(Session session) { + latch = (CountDownLatch) session.getUserProperties().get("latch"); } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org