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