[*] 优化线程

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,6 +24,7 @@ public class WebSocketSession extends ClientSessionAdapter<Session> {
@Override @Override
public void push(Message message) { public void push(Message message) {
synchronized (this.instance) {
try { try {
if(this.instance.isOpen()) { if(this.instance.isOpen()) {
this.instance.getBasicRemote().sendText(message.toString()); this.instance.getBasicRemote().sendText(message.toString());
@@ -34,5 +35,6 @@ public class WebSocketSession extends ClientSessionAdapter<Session> {
log.error("WebSocket发送消息异常{}", message, e); log.error("WebSocket发送消息异常{}", message, e);
} }
} }
}
} }

View File

@@ -70,6 +70,7 @@ public class WebSocketSignal {
* @param message 消息 * @param message 消息
*/ */
private void push(Session session, Message message) { private void push(Session session, Message message) {
synchronized (session) {
try { try {
if(session.isOpen()) { if(session.isOpen()) {
session.getBasicRemote().sendText(message.toString()); session.getBasicRemote().sendText(message.toString());
@@ -80,6 +81,7 @@ public class WebSocketSignal {
log.error("推送消息异常:{}", message, e); log.error("推送消息异常:{}", message, e);
} }
} }
}
@Autowired @Autowired
public void setErrorProtocol(ErrorProtocol errorProtocol) { public void setErrorProtocol(ErrorProtocol errorProtocol) {