WebSocketEnvironment webSocketEnvironment = new WebSocketEnvironment(environment, config.getWebSocketConfiguration(), 90000); webSocketEnvironment.setAuthenticator(new WebSocketAccountAuthenticator(deviceAuthenticator)); webSocketEnvironment.setConnectListener(new AuthenticatedConnectListener(pushSender, receiptSender, messagesManager, pubSubManager, apnFallbackManager)); webSocketEnvironment.jersey().register(profileController); WebSocketEnvironment provisioningEnvironment = new WebSocketEnvironment(environment, webSocketEnvironment.getRequestLog(), 60000); provisioningEnvironment.setConnectListener(new ProvisioningConnectListener(pubSubManager)); provisioningEnvironment.jersey().register(new KeepAliveController(pubSubManager));
@Override public void run(ServerConfiguration serverConfiguration, Environment environment) throws Exception { WebSocketEnvironment webSocketEnvironment = new WebSocketEnvironment(environment, serverConfiguration.getWebSocketConfiguration()); HelloResource helloResource = new HelloResource(serverConfiguration.getHelloResponse()); HelloAccountBasicAuthenticator helloBasicAuthenticator = new HelloAccountBasicAuthenticator(); environment.jersey().register(helloResource); environment.jersey().register(new AuthDynamicFeature(new BasicCredentialAuthFilter.Builder<HelloAccount>() .setAuthenticator(helloBasicAuthenticator) .setPrincipal(HelloAccount.class) .buildAuthFilter())); environment.jersey().register(new AuthValueFactoryProvider.Binder()); webSocketEnvironment.jersey().register(helloResource); webSocketEnvironment.setAuthenticator(new HelloAccountWebSocketAuthenticator(helloBasicAuthenticator)); WebSocketResourceProviderFactory servlet = new WebSocketResourceProviderFactory(webSocketEnvironment); ServletRegistration.Dynamic websocket = environment.servlets().addServlet("WebSocket", servlet); websocket.addMapping("/websocket/*"); websocket.setAsyncSupported(true); servlet.start(); }