From 5cac132f287708270e654a0beb64ac35d928c61c Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Sat, 15 Jun 2024 21:39:42 -0400 Subject: [PATCH 1/2] Added protected methods to customize client thread names. closes #1421 --- .../java/org/java_websocket/AbstractWebSocket.java | 6 +++++- .../org/java_websocket/client/WebSocketClient.java | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/java_websocket/AbstractWebSocket.java b/src/main/java/org/java_websocket/AbstractWebSocket.java index bbb1dc8f..a3540bb1 100644 --- a/src/main/java/org/java_websocket/AbstractWebSocket.java +++ b/src/main/java/org/java_websocket/AbstractWebSocket.java @@ -201,7 +201,7 @@ protected void startConnectionLostTimer() { private void restartConnectionLostTimer() { cancelConnectionLostTimer(); connectionLostCheckerService = Executors - .newSingleThreadScheduledExecutor(new NamedThreadFactory("connectionLostChecker", daemon)); + .newSingleThreadScheduledExecutor(new NamedThreadFactory(connectionLostThreadPrefix(), daemon)); Runnable connectionLostChecker = new Runnable() { /** @@ -233,6 +233,10 @@ public void run() { TimeUnit.NANOSECONDS); } + protected String connectionLostThreadPrefix () { + return "connectionLostChecker"; + } + /** * Send a ping to the endpoint or close the connection since the other endpoint did not respond * with a ping diff --git a/src/main/java/org/java_websocket/client/WebSocketClient.java b/src/main/java/org/java_websocket/client/WebSocketClient.java index 1ac2df07..ca55652f 100644 --- a/src/main/java/org/java_websocket/client/WebSocketClient.java +++ b/src/main/java/org/java_websocket/client/WebSocketClient.java @@ -380,10 +380,18 @@ public void connect() { } connectReadThread = new Thread(this); connectReadThread.setDaemon(isDaemon()); - connectReadThread.setName("WebSocketConnectReadThread-" + connectReadThread.getId()); + connectReadThread.setName(connectReadThreadName(connectReadThread.getId())); connectReadThread.start(); } + protected String connectReadThreadName (long threadId) { + return "WebSocketConnectReadThread-" + threadId; + } + + protected String writeThreadName (long threadId) { + return "WebSocketWriteThread-" + threadId; + } + /** * Same as connect but blocks until the websocket connected or failed to do so.
* @@ -819,7 +827,7 @@ private class WebsocketWriteThread implements Runnable { @Override public void run() { - Thread.currentThread().setName("WebSocketWriteThread-" + Thread.currentThread().getId()); + Thread.currentThread().setName(writeThreadName(Thread.currentThread().getId())); try { runWriteData(); } catch (IOException e) { From 6b45220affec3a9f6d6338d48f58e51a471995c7 Mon Sep 17 00:00:00 2001 From: Nathan Sweet Date: Sat, 15 Jun 2024 21:47:48 -0400 Subject: [PATCH 2/2] Formatting. --- src/main/java/org/java_websocket/client/WebSocketClient.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/java_websocket/client/WebSocketClient.java b/src/main/java/org/java_websocket/client/WebSocketClient.java index ca55652f..dd2f205a 100644 --- a/src/main/java/org/java_websocket/client/WebSocketClient.java +++ b/src/main/java/org/java_websocket/client/WebSocketClient.java @@ -389,7 +389,7 @@ protected String connectReadThreadName (long threadId) { } protected String writeThreadName (long threadId) { - return "WebSocketWriteThread-" + threadId; + return "WebSocketWriteThread-" + threadId; } /**