This is an automated email from the ASF dual-hosted git repository.

theigl pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/wicket.git


The following commit(s) were added to refs/heads/master by this push:
     new 243f6ffd01 WICKET-6965 Store application name to avoid accessing the 
session during `onClose` and `onError` (#507)
243f6ffd01 is described below

commit 243f6ffd0124263e5d527a24758c8ab3f76acdfa
Author: Thomas Heigl <[email protected]>
AuthorDate: Mon Apr 4 18:54:07 2022 +0200

    WICKET-6965 Store application name to avoid accessing the session during 
`onClose` and `onError` (#507)
---
 .../org/apache/wicket/protocol/ws/javax/WicketEndpoint.java | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git 
a/wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/WicketEndpoint.java
 
b/wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/WicketEndpoint.java
index 4214a95a0b..0919ca6849 100644
--- 
a/wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/WicketEndpoint.java
+++ 
b/wicket-native-websocket/wicket-native-websocket-javax/src/main/java/org/apache/wicket/protocol/ws/javax/WicketEndpoint.java
@@ -54,15 +54,16 @@ public class WicketEndpoint extends Endpoint
         */
        private static final String WICKET_APP_PARAM_NAME = "wicket-app-name";
 
+       private String applicationName;
        private JavaxWebSocketProcessor javaxWebSocketProcessor;
 
        @Override
        public void onOpen(Session session, EndpointConfig endpointConfig)
        {
-               String appName = getApplicationName(session);
+               applicationName = getApplicationName(session);
 
-               WebApplication app = (WebApplication) 
WebApplication.get(appName);
-               if (RUNNING_APPLICATIONS.add(appName))
+               WebApplication app = 
(WebApplication)WebApplication.get(applicationName);
+               if (RUNNING_APPLICATIONS.add(applicationName))
                {
                        app.getApplicationListeners().add(new 
ApplicationListener());
                }
@@ -90,8 +91,7 @@ public class WicketEndpoint extends Endpoint
                LOG.debug("Web Socket connection with id '{}' has been closed 
with code '{}' and reason: {}",
                                session.getId(), closeCode, reasonPhrase);
 
-               String applicationName = getApplicationName(session);
-               if (isApplicationAlive(applicationName) && 
javaxWebSocketProcessor != null)
+               if (javaxWebSocketProcessor != null && 
isApplicationAlive(applicationName))
                {
                        javaxWebSocketProcessor.onClose(closeCode, 
reasonPhrase);
                }
@@ -111,8 +111,7 @@ public class WicketEndpoint extends Endpoint
 
                super.onError(session, t);
 
-               String applicationName = getApplicationName(session);
-               if (isApplicationAlive(applicationName) && 
javaxWebSocketProcessor != null)
+               if (javaxWebSocketProcessor != null && 
isApplicationAlive(applicationName))
                {
                        javaxWebSocketProcessor.onError(t);
                }

Reply via email to