diff --git a/guacamole-common/src/main/java/org/glyptodon/guacamole/servlet/GuacamoleHTTPTunnelServlet.java b/guacamole-common/src/main/java/org/glyptodon/guacamole/servlet/GuacamoleHTTPTunnelServlet.java index 3ff5119cb..6dc6fc05f 100644 --- a/guacamole-common/src/main/java/org/glyptodon/guacamole/servlet/GuacamoleHTTPTunnelServlet.java +++ b/guacamole-common/src/main/java/org/glyptodon/guacamole/servlet/GuacamoleHTTPTunnelServlet.java @@ -28,8 +28,6 @@ import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.Writer; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentMap; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -62,8 +60,7 @@ public abstract class GuacamoleHTTPTunnelServlet extends HttpServlet { /** * Map of absolutely all active tunnels using HTTP, indexed by tunnel UUID. */ - private final ConcurrentMap tunnels = - new ConcurrentHashMap(); + private final GuacamoleHTTPTunnelMap tunnels = new GuacamoleHTTPTunnelMap(); /** * The prefix of the query string which denotes a tunnel read operation. @@ -512,6 +509,11 @@ public abstract class GuacamoleHTTPTunnelServlet extends HttpServlet { } + @Override + public void destroy() { + tunnels.shutdown(); + } + } /**