55 lines
1.9 KiB
Diff
55 lines
1.9 KiB
Diff
|
|
From cd2150ff02c592c1ab6da219302ff80f589559fe Mon Sep 17 00:00:00 2001
|
||
|
|
From: remm <remm@apache.org>
|
||
|
|
Date: Thu, 28 Oct 2021 11:32:47 +0800
|
||
|
|
Subject: [PATCH] Close WebConnection
|
||
|
|
|
||
|
|
---
|
||
|
|
.../tomcat/websocket/server/WsHttpUpgradeHandler.java | 3 +++
|
||
|
|
webapps/docs/changelog.xml | 8 ++++++++
|
||
|
|
2 files changed, 11 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java b/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
|
||
|
|
index 5dd1c5a..703f17a 100644
|
||
|
|
--- a/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
|
||
|
|
+++ b/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
|
||
|
|
@@ -99,6 +99,7 @@ public class WsHttpUpgradeHandler implements InternalHttpUpgradeHandler {
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void init(WebConnection connection) {
|
||
|
|
+ this.connection = connection;
|
||
|
|
if (ep == null) {
|
||
|
|
throw new IllegalStateException(
|
||
|
|
sm.getString("wsHttpUpgradeHandler.noPreInit"));
|
||
|
|
@@ -203,7 +204,9 @@ public class WsHttpUpgradeHandler implements InternalHttpUpgradeHandler {
|
||
|
|
|
||
|
|
@Override
|
||
|
|
public void destroy() {
|
||
|
|
+ WebConnection connection = this.connection;
|
||
|
|
if (connection != null) {
|
||
|
|
+ this.connection = null;
|
||
|
|
try {
|
||
|
|
connection.close();
|
||
|
|
} catch (Exception e) {
|
||
|
|
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
|
||
|
|
index a7bb52c..a97e15d 100644
|
||
|
|
--- a/webapps/docs/changelog.xml
|
||
|
|
+++ b/webapps/docs/changelog.xml
|
||
|
|
@@ -338,6 +338,14 @@
|
||
|
|
</fix>
|
||
|
|
</changelog>
|
||
|
|
</subsection>
|
||
|
|
+ <subsection name="WebSocket">
|
||
|
|
+ <changelog>
|
||
|
|
+ <fix>
|
||
|
|
+ The internal upgrade handler should close the associated
|
||
|
|
+ <code>WebConnection</code> on destroy. (remm)
|
||
|
|
+ </fix>
|
||
|
|
+ </changelog>
|
||
|
|
+ </subsection>
|
||
|
|
<subsection name="Web applications">
|
||
|
|
<changlog>
|
||
|
|
<fix>
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|