JWebSocketInstance.setStatus(JWebSocketInstance.STARTING);
JWebSocketLoader loader = new JWebSocketLoader();
try {
WebSocketInitializer lInitializer = loader.initialize();
if (lInitializer == null) {
// System.err.println("ERROR:jWebSocket Server sub system could not be initialized.");
JWebSocketInstance.setStatus(JWebSocketInstance.SHUTTING_DOWN);
return;
}
lInitializer.initializeLogging();
mLog = Logging.getLogger(JWebSocketFactory.class);
if (mLog.isDebugEnabled()) {
mLog.debug("Starting jWebSocket Server Sub System...");
}
mEngine = lInitializer.initializeEngine();
if (mEngine == null) {
// the loader already logs an error!
JWebSocketInstance.setStatus(JWebSocketInstance.SHUTTING_DOWN);
return;
}
// initialize and start the server
if (mLog.isDebugEnabled()) {
mLog.debug("Initializing servers...");
}
mServers = lInitializer.initializeServers();
Map<String, List<WebSocketPlugIn>> lPluginMap = lInitializer.initializePlugins();
if (mLog.isDebugEnabled()) {
mLog.debug("Initializing plugins...");
}
for (WebSocketServer lServer : mServers) {
lServer.addEngine(mEngine);
List<WebSocketPlugIn> lPlugIns = lPluginMap.get(lServer.getId());
for (WebSocketPlugIn lPlugIn : lPlugIns) {
lServer.getPlugInChain().addPlugIn(lPlugIn);
}
}
if (mLog.isInfoEnabled()) {
mLog.info("Plugins initialized.");
}
Map<String, List<WebSocketFilter>> lFilterMap = lInitializer.initializeFilters();
if (mLog.isDebugEnabled()) {
mLog.debug("Initializing filters...");
}
for (WebSocketServer lServer : mServers) {
lServer.addEngine(mEngine);