@Override public void contextInitialized(ServletContextEvent sce) { ServletContext servletContext = sce.getServletContext(); // find application context ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext); if (applicationContext != null) this.setApplicationContext(applicationContext); // install WebSocket endpoints if (this.webSocketTransport == null) return; try { WebSocketServerEndpoint.install(this.webSocketTransport, servletContext); } catch (DeploymentException ex) { throw new RuntimeException("Problem while deploying websocket endpoint: " + ex.getMessage(), ex); } }
@WebListener public class MyListener_V7 implements ServletContextListener { private static final Logger LOG = LoggerFactory.getLogger(MyListener_V7.class); @Override public void contextInitialized(ServletContextEvent servletContextEvent) { final ServerContainer serverContainer = (ServerContainer) servletContextEvent.getServletContext() .getAttribute("javax.websocket.server.ServerContainer"); try { serverContainer.addEndpoint(MyWebsocket_V7.class); //Generates exception when the plug-in is updated } catch (DeploymentException e) { LOG.error("Error adding endpoint to the servercontainer: " + e.getMessage()); } } @Override public void contextDestroyed(ServletContextEvent servletContextEvent) { LOG.error("CONTEXT DESTROYED!"); } } @ServerEndpoint(value = "/websocket_V7/{myPathParam}") public class MyWebsocket_V7 { private static final Logger LOG = LoggerFactory.getLogger(MyWebsocket.class);
LOGGER.log(Level.SEVERE, "Websocket deployment failed " + endpoint + ". " + ex.getMessage()); } catch (Throwable th) { LOGGER.log(Level.SEVERE, th.getMessage(), th);
private static void connectToURI(final ConsoleReader console, final String uri, final WebSocketContainer webSocketContainer) throws IOException { // Use a local copy so that we don't get odd race conditions // Session localCopy = session; if (localCopy != null) { ClientCli.print(console, null, String.format("Closing session %s", localCopy.getId()), false); localCopy.close(); } ClientCli.print(console, null, String.format("Connecting to %s...", uri), false); try { // TODO support sub protocols localCopy = webSocketContainer.connectToServer(new ClientEndpoint(console), new URI(uri)); session = localCopy; ClientCli.print(console, null, String.format("Connected in session %s", localCopy.getId()), false); } catch (URISyntaxException ex) { ClientCli.print(console, null, String.format("Problem parsing uri %s beause of %s", uri, ex.getMessage()), false); } catch (DeploymentException ex) { ClientCli.print(console, null, String.format("Failed to connect to %s due to %s", uri, ex.getMessage()), false); } }
private <T> Object getCoderInstance(Session session, CoderWrapper<T> wrapper) { final Object coder = wrapper.getCoder(); if (coder == null) { ErrorCollector collector = new ErrorCollector(); final Object coderInstance = this.componentProvider .getCoderInstance(wrapper.getCoderClass(), session, getEndpointConfig(), collector); if (!collector.isEmpty()) { final DeploymentException deploymentException = collector.composeComprehensiveException(); LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException); return null; } return coderInstance; } return coder; }
private <T> Object getCoderInstance(Session session, CoderWrapper<T> wrapper) { final Object coder = wrapper.getCoder(); if (coder == null) { ErrorCollector collector = new ErrorCollector(); final Object coderInstance = this.componentProvider .getCoderInstance(wrapper.getCoderClass(), session, getEndpointConfig(), collector); if (!collector.isEmpty()) { final DeploymentException deploymentException = collector.composeComprehensiveException(); LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException); return null; } return coderInstance; } return coder; }
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);
LOGGER.log(Level.WARNING, deploymentException.getMessage(), deploymentException);