[*] 优化线程

This commit is contained in:
acgist
2023-01-06 17:03:16 +08:00
parent 2908faf9df
commit fed00218fb
3 changed files with 19 additions and 14 deletions

View File

@@ -147,6 +147,7 @@ public class ClientSessionManager {
*/
public void close(AutoCloseable instance) {
final ClientSession session = this.session(instance);
// TODO如果出现异常可以提前移除
try {
if(session != null) {
session.close();

View File

@@ -24,14 +24,16 @@ public class WebSocketSession extends ClientSessionAdapter<Session> {
@Override
public void push(Message message) {
try {
if(this.instance.isOpen()) {
this.instance.getBasicRemote().sendText(message.toString());
} else {
log.error("会话已经关闭:{}", this.instance);
synchronized (this.instance) {
try {
if(this.instance.isOpen()) {
this.instance.getBasicRemote().sendText(message.toString());
} else {
log.error("会话已经关闭:{}", this.instance);
}
} catch (Exception e) {
log.error("WebSocket发送消息异常{}", message, e);
}
} catch (Exception e) {
log.error("WebSocket发送消息异常{}", message, e);
}
}

View File

@@ -70,14 +70,16 @@ public class WebSocketSignal {
* @param message 消息
*/
private void push(Session session, Message message) {
try {
if(session.isOpen()) {
session.getBasicRemote().sendText(message.toString());
} else {
log.error("会话已经关闭:{}", session);
synchronized (session) {
try {
if(session.isOpen()) {
session.getBasicRemote().sendText(message.toString());
} else {
log.error("会话已经关闭:{}", session);
}
} catch (Exception e) {
log.error("推送消息异常:{}", message, e);
}
} catch (Exception e) {
log.error("推送消息异常:{}", message, e);
}
}