@@ -2667,58 +2667,90 @@ private static final class AHCWebSocketListenerAdapter implements org.glassfish.
26672667
26682668 @ Override
26692669 public void onClose (org .glassfish .grizzly .websockets .WebSocket gWebSocket , DataFrame dataFrame ) {
2670- if (WebSocketCloseCodeReasonListener .class .isAssignableFrom (ahcListener .getClass ())) {
2671- ClosingFrame cf = ClosingFrame .class .cast (dataFrame );
2672- WebSocketCloseCodeReasonListener .class .cast (ahcListener ).onClose (webSocket , cf .getCode (), cf .getReason ());
2673- } else {
2674- ahcListener .onClose (webSocket );
2670+ try {
2671+ if (WebSocketCloseCodeReasonListener .class .isAssignableFrom (ahcListener .getClass ())) {
2672+ ClosingFrame cf = ClosingFrame .class .cast (dataFrame );
2673+ WebSocketCloseCodeReasonListener .class .cast (ahcListener ).onClose (webSocket , cf .getCode (), cf .getReason ());
2674+ } else {
2675+ ahcListener .onClose (webSocket );
2676+ }
2677+ } catch (Throwable e ) {
2678+ ahcListener .onError (e );
26752679 }
26762680 }
26772681
26782682 @ Override
26792683 public void onConnect (org .glassfish .grizzly .websockets .WebSocket gWebSocket ) {
2680- ahcListener .onOpen (webSocket );
2684+ try {
2685+ ahcListener .onOpen (webSocket );
2686+ } catch (Throwable e ) {
2687+ ahcListener .onError (e );
2688+ }
26812689 }
26822690
26832691 @ Override
26842692 public void onMessage (org .glassfish .grizzly .websockets .WebSocket webSocket , String s ) {
2685- if (WebSocketTextListener .class .isAssignableFrom (ahcListener .getClass ())) {
2686- WebSocketTextListener .class .cast (ahcListener ).onMessage (s );
2693+ try {
2694+ if (WebSocketTextListener .class .isAssignableFrom (ahcListener .getClass ())) {
2695+ WebSocketTextListener .class .cast (ahcListener ).onMessage (s );
2696+ }
2697+ } catch (Throwable e ) {
2698+ ahcListener .onError (e );
26872699 }
26882700 }
26892701
26902702 @ Override
26912703 public void onMessage (org .glassfish .grizzly .websockets .WebSocket webSocket , byte [] bytes ) {
2692- if (WebSocketByteListener .class .isAssignableFrom (ahcListener .getClass ())) {
2693- WebSocketByteListener .class .cast (ahcListener ).onMessage (bytes );
2704+ try {
2705+ if (WebSocketByteListener .class .isAssignableFrom (ahcListener .getClass ())) {
2706+ WebSocketByteListener .class .cast (ahcListener ).onMessage (bytes );
2707+ }
2708+ } catch (Throwable e ) {
2709+ ahcListener .onError (e );
26942710 }
26952711 }
26962712
26972713 @ Override
26982714 public void onPing (org .glassfish .grizzly .websockets .WebSocket webSocket , byte [] bytes ) {
2699- if (WebSocketPingListener .class .isAssignableFrom (ahcListener .getClass ())) {
2700- WebSocketPingListener .class .cast (ahcListener ).onPing (bytes );
2715+ try {
2716+ if (WebSocketPingListener .class .isAssignableFrom (ahcListener .getClass ())) {
2717+ WebSocketPingListener .class .cast (ahcListener ).onPing (bytes );
2718+ }
2719+ } catch (Throwable e ) {
2720+ ahcListener .onError (e );
27012721 }
27022722 }
27032723
27042724 @ Override
27052725 public void onPong (org .glassfish .grizzly .websockets .WebSocket webSocket , byte [] bytes ) {
2706- if (WebSocketPongListener .class .isAssignableFrom (ahcListener .getClass ())) {
2707- WebSocketPongListener .class .cast (ahcListener ).onPong (bytes );
2726+ try {
2727+ if (WebSocketPongListener .class .isAssignableFrom (ahcListener .getClass ())) {
2728+ WebSocketPongListener .class .cast (ahcListener ).onPong (bytes );
2729+ }
2730+ } catch (Throwable e ) {
2731+ ahcListener .onError (e );
27082732 }
27092733 }
27102734
27112735 @ Override
27122736 public void onFragment (org .glassfish .grizzly .websockets .WebSocket webSocket , String s , boolean b ) {
2713- if (WebSocketTextListener .class .isAssignableFrom (ahcListener .getClass ())) {
2714- WebSocketTextListener .class .cast (ahcListener ).onFragment (s , b );
2737+ try {
2738+ if (WebSocketTextListener .class .isAssignableFrom (ahcListener .getClass ())) {
2739+ WebSocketTextListener .class .cast (ahcListener ).onFragment (s , b );
2740+ }
2741+ } catch (Throwable e ) {
2742+ ahcListener .onError (e );
27152743 }
27162744 }
27172745
27182746 @ Override
27192747 public void onFragment (org .glassfish .grizzly .websockets .WebSocket webSocket , byte [] bytes , boolean b ) {
2720- if (WebSocketByteListener .class .isAssignableFrom (ahcListener .getClass ())) {
2721- WebSocketByteListener .class .cast (ahcListener ).onFragment (bytes , b );
2748+ try {
2749+ if (WebSocketByteListener .class .isAssignableFrom (ahcListener .getClass ())) {
2750+ WebSocketByteListener .class .cast (ahcListener ).onFragment (bytes , b );
2751+ }
2752+ } catch (Throwable e ) {
2753+ ahcListener .onError (e );
27222754 }
27232755 }
27242756
0 commit comments