[*] 优化线程

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) { public void close(AutoCloseable instance) {
final ClientSession session = this.session(instance); final ClientSession session = this.session(instance);
// TODO如果出现异常可以提前移除
try { try {
if(session != null) { if(session != null) {
session.close(); session.close();

View File

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