import java.util.Collection;
import java.util.Collections;
-
import org.opendaylight.controller.sal.core.api.Broker;
import org.opendaylight.controller.sal.core.api.Broker.ProviderSession;
import org.opendaylight.controller.sal.core.api.Provider;
import org.opendaylight.controller.sal.core.api.mount.MountService;
import org.opendaylight.controller.sal.restconf.impl.BrokerFacade;
import org.opendaylight.controller.sal.restconf.impl.ControllerContext;
+import org.opendaylight.controller.sal.streams.websockets.WebSocketServer;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.model.api.SchemaServiceListener;
import org.osgi.framework.BundleActivator;
private ListenerRegistration<SchemaServiceListener> listenerRegistration;
private ServiceTracker<Broker, Broker> brokerServiceTrancker;
private BundleContext bundleContext;
- private ProviderSession session;
+ private Thread webSocketServerThread;
@Override
public void onSessionInitiated(ProviderSession session) {
@Override
public void start(BundleContext context) throws Exception {
+ String websocketPortStr = context.getProperty(WebSocketServer.WEBSOCKET_SERVER_CONFIG_PROPERTY);
+ int websocketPort = (websocketPortStr != null && !"".equals(websocketPortStr)) ? Integer
+ .parseInt(websocketPortStr) : WebSocketServer.DEFAULT_PORT;
bundleContext = context;
+ webSocketServerThread = new Thread(WebSocketServer.createInstance(websocketPort));
+ webSocketServerThread.setName("Web socket server");
+ webSocketServerThread.start();
brokerServiceTrancker = new ServiceTracker<>(context, Broker.class, this);
brokerServiceTrancker.open();
}
e.printStackTrace();
}
}
- session.close();
+ webSocketServerThread.interrupt();
brokerServiceTrancker.close();
}