This commit is contained in:
@@ -15,14 +15,21 @@ import java.util.concurrent.*;
|
||||
*/
|
||||
public final class WebSocketEngine {
|
||||
|
||||
private String engineid;
|
||||
private static final Map<String, WebSocketEngine> globals = new ConcurrentHashMap<>();
|
||||
|
||||
private final String engineid;
|
||||
|
||||
private final Map<Serializable, WebSocketGroup> containers = new ConcurrentHashMap<>();
|
||||
|
||||
WebSocketEngine() {
|
||||
static WebSocketEngine create(String engineid) {
|
||||
WebSocketEngine engine = globals.get(engineid);
|
||||
if (engine != null) return engine;
|
||||
engine = new WebSocketEngine(engineid);
|
||||
globals.put(engineid, engine);
|
||||
return engine;
|
||||
}
|
||||
|
||||
void setEngineid(String engineid) {
|
||||
private WebSocketEngine(String engineid) {
|
||||
this.engineid = engineid;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,11 +37,10 @@ public abstract class WebSocketServlet extends HttpServlet {
|
||||
@Resource
|
||||
private WebSocketNodeService nodeService;
|
||||
|
||||
protected final WebSocketEngine engine = new WebSocketEngine();
|
||||
protected final WebSocketEngine engine = WebSocketEngine.create(this.getClass().getName() + "-" + Arrays.toString(this.getClass().getAnnotation(WebServlet.class).value()));
|
||||
|
||||
@Override
|
||||
public void init(Context context, AnyValue conf) {
|
||||
engine.setEngineid(this.getClass().getName() + "-" + Arrays.toString(this.getClass().getAnnotation(WebServlet.class).value()));
|
||||
if (nodeService != null) {
|
||||
nodeService.addWebSocketEngine(engine);
|
||||
nodeService.initUserNodes();
|
||||
|
||||
Reference in New Issue
Block a user