fix: websocket session send synchronized

Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
MiaoWoo 2020-05-30 10:18:01 +08:00
parent 46768e4cdd
commit 503ca79dab
2 changed files with 2 additions and 2 deletions

View File

@ -36,7 +36,7 @@ export class TomcatClient extends EventEmitter implements SocketIO.EngineSocket
return this._id; return this._id;
} }
send(text: string) { send(text: string) {
this.session.getBasicRemote().sendText(text) Java.synchronized(() => this.session.getBasicRemote().sendText(text), this.session)()
} }
close() { close() {
this.session.close(); this.session.close();

View File

@ -6,7 +6,7 @@ import { SocketIO } from '../socket-io/interfaces'
import { ProxyBeanName } from './constants' import { ProxyBeanName } from './constants'
import { TomcatClient } from './client' import { TomcatClient } from './client'
const WebSocketServerProxy = Java.type("com.sixi.framework.scriptservice.websocket.WebSocketServerProxy") const WebSocketServerProxy = Java.type("pw.yumc.MiaoScript.websocket.WebSocketProxy")
const ThreadPoolExecutor = Java.type('java.util.concurrent.ThreadPoolExecutor') const ThreadPoolExecutor = Java.type('java.util.concurrent.ThreadPoolExecutor')
const ThreadPoolTaskExecutor = Java.type('org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor') const ThreadPoolTaskExecutor = Java.type('org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor')