@Override public void afterPropertiesSet() { Assert.state(this.servletContext != null, "A ServletContext is required to access the javax.websocket.server.ServerContainer instance"); this.serverContainer = (ServerContainer) this.servletContext.getAttribute( "javax.websocket.server.ServerContainer"); Assert.state(this.serverContainer != null, "Attribute 'javax.websocket.server.ServerContainer' not found in ServletContext"); if (this.asyncSendTimeout != null) { this.serverContainer.setAsyncSendTimeout(this.asyncSendTimeout); } if (this.maxSessionIdleTimeout != null) { this.serverContainer.setDefaultMaxSessionIdleTimeout(this.maxSessionIdleTimeout); } if (this.maxTextMessageBufferSize != null) { this.serverContainer.setDefaultMaxTextMessageBufferSize(this.maxTextMessageBufferSize); } if (this.maxBinaryMessageBufferSize != null) { this.serverContainer.setDefaultMaxBinaryMessageBufferSize(this.maxBinaryMessageBufferSize); } }
private void initServerContainer(ServerContainer serverContainer) { if (this.asyncSendTimeout != null) { serverContainer.setAsyncSendTimeout(this.asyncSendTimeout); } if (this.maxSessionIdleTimeout != null) { serverContainer.setDefaultMaxSessionIdleTimeout(this.maxSessionIdleTimeout); } if (this.maxTextMessageBufferSize != null) { serverContainer.setDefaultMaxTextMessageBufferSize(this.maxTextMessageBufferSize); } if (this.maxBinaryMessageBufferSize != null) { serverContainer.setDefaultMaxBinaryMessageBufferSize(this.maxBinaryMessageBufferSize); } }
public static void setWebSocketServer(ServletContextHandler servletContextHandler) throws ServletException, DeploymentException { // Add javax.websocket support ServerContainer container = WebSocketServerContainerInitializer.configureContext(servletContextHandler); container.setDefaultMaxSessionIdleTimeout(7*24*3600*1000); // Add echo endpoint to server container container.addEndpoint(BasicSocket.class); }
public static void setWebSocketServer(ServletContextHandler servletContextHandler) throws ServletException, DeploymentException { // Add javax.websocket support ServerContainer container = WebSocketServerContainerInitializer.configureContext(servletContextHandler); container.setDefaultMaxSessionIdleTimeout(7*24*3600*1000); // Add echo endpoint to server container container.addEndpoint(BasicSocket.class); }
@Override public void afterPropertiesSet() { Assert.state(this.servletContext != null, "A ServletContext is required to access the javax.websocket.server.ServerContainer instance"); this.serverContainer = (ServerContainer) this.servletContext.getAttribute( "javax.websocket.server.ServerContainer"); Assert.state(this.serverContainer != null, "Attribute 'javax.websocket.server.ServerContainer' not found in ServletContext"); if (this.asyncSendTimeout != null) { this.serverContainer.setAsyncSendTimeout(this.asyncSendTimeout); } if (this.maxSessionIdleTimeout != null) { this.serverContainer.setDefaultMaxSessionIdleTimeout(this.maxSessionIdleTimeout); } if (this.maxTextMessageBufferSize != null) { this.serverContainer.setDefaultMaxTextMessageBufferSize(this.maxTextMessageBufferSize); } if (this.maxBinaryMessageBufferSize != null) { this.serverContainer.setDefaultMaxBinaryMessageBufferSize(this.maxBinaryMessageBufferSize); } }
@Override public void afterPropertiesSet() { Assert.state(this.servletContext != null, "A ServletContext is required to access the javax.websocket.server.ServerContainer instance"); this.serverContainer = (ServerContainer) this.servletContext.getAttribute( "javax.websocket.server.ServerContainer"); Assert.state(this.serverContainer != null, "Attribute 'javax.websocket.server.ServerContainer' not found in ServletContext"); if (this.asyncSendTimeout != null) { this.serverContainer.setAsyncSendTimeout(this.asyncSendTimeout); } if (this.maxSessionIdleTimeout != null) { this.serverContainer.setDefaultMaxSessionIdleTimeout(this.maxSessionIdleTimeout); } if (this.maxTextMessageBufferSize != null) { this.serverContainer.setDefaultMaxTextMessageBufferSize(this.maxTextMessageBufferSize); } if (this.maxBinaryMessageBufferSize != null) { this.serverContainer.setDefaultMaxBinaryMessageBufferSize(this.maxBinaryMessageBufferSize); } }
public static void install(WebSocketTransport webSocketTransport, ServletContext servletContext) throws DeploymentException { String contextPath = servletContext.getContextPath(); if (contextPath == null) contextPath = ""; if (! contextPath.startsWith("/")) contextPath = "/" + contextPath; if (contextPath.endsWith("/")) contextPath = contextPath.substring(0, contextPath.length() - 1); if (log.isDebugEnabled()) log.debug("Context Path: " + contextPath); String endpointPath = webSocketTransport.getEndpointPath(); if (endpointPath == null) endpointPath = ""; if (! endpointPath.startsWith("/")) endpointPath = "/" + endpointPath; if (endpointPath.endsWith("/")) endpointPath = endpointPath.substring(0, endpointPath.length() - 1); if (log.isDebugEnabled()) log.debug("Endpoint Path: " + endpointPath); // find server container ServerContainer serverContainer = (ServerContainer) servletContext.getAttribute("javax.websocket.server.ServerContainer"); if (serverContainer == null) throw new DeploymentException("Cannot find ServerContainer"); // set default timeout long oldDefaultMaxSessionIdleTimeout = serverContainer.getDefaultMaxSessionIdleTimeout(); long newDefaultMaxSessionIdleTimeout = 0; serverContainer.setDefaultMaxSessionIdleTimeout(newDefaultMaxSessionIdleTimeout); if (log.isDebugEnabled()) log.debug("Changed default max session idle timeout from " + oldDefaultMaxSessionIdleTimeout + " to " + newDefaultMaxSessionIdleTimeout); // install install(serverContainer, webSocketTransport, contextPath, endpointPath, "/{path}"); for (UriMessagingContainerFactoryMount messagingContainerFactoryMount : webSocketTransport.getUriMessagingContainerRegistry().getMessagingContainerFactoryMounts()) { install(serverContainer, webSocketTransport, contextPath, endpointPath, messagingContainerFactoryMount.getMessagingContainerFactoryPath() + "/{path}"); } }
serverContainer.setDefaultMaxSessionIdleTimeout(gravity.getGravityConfig().getChannelIdleTimeoutMillis());
private Server createWebsocketServer(ApolloConfiguration configuration, AuthenticationFilter authenticationFilter) { try { Server server = new Server(configuration.getWebsocket().getPort()); ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SESSIONS); context.addFilter(new FilterHolder(authenticationFilter), "/exec/*", null); server.setHandler(context); ServerContainer wsContainer = WebSocketServerContainerInitializer.configureContext(context); wsContainer.setDefaultMaxSessionIdleTimeout(configuration.getWebsocket().getIdleTimeoutSeconds() * 1000); wsContainer.addEndpoint(createEndpointConfig(ContainerExecEndpoint.class)); wsContainer.addEndpoint(createEndpointConfig(ContainerLogsEndpoint.class)); return server; } catch (ServletException e) { throw new RuntimeException("Could not initialize WebSocket container!", e); } catch (DeploymentException e) { throw new RuntimeException("Could not register websocket endpoint!", e); } }
container.setDefaultMaxSessionIdleTimeout(idleTimeout);