try { webSocketServletContextHandler = new ServletContextHandler(null, "/", true, false); WebSocketUpgradeFilter webSocketUpgradeFilter = WebSocketUpgradeFilter.configureContext(webSocketServletContextHandler); if (webSocketIdleTimeoutMillis.isPresent()) { webSocketUpgradeFilter.getFactory().getPolicy().setIdleTimeout(webSocketIdleTimeoutMillis.get());
WebSocketUpgradeFilter wsfilter = WebSocketUpgradeFilter.configureContext(context); wsfilter.getFactory().getPolicy().setIdleTimeout(5000); wsfilter.addMapping(new ServletPathSpec("/time/"), new TimeSocketCreator());
public static ServerContainer configureContext(final MutableServletContextHandler context, final MetricRegistry metrics) throws ServletException { WebSocketUpgradeFilter filter = WebSocketUpgradeFilter.configureContext(context); NativeWebSocketConfiguration wsConfig = filter.getConfiguration(); ServerContainer wsContainer = new ServerContainer(wsConfig, context.getServer().getThreadPool()); EventDriverFactory edf = wsConfig.getFactory().getEventDriverFactory(); edf.clearImplementations(); edf.addImplementation(new InstJsrServerEndpointImpl(metrics)); edf.addImplementation(new InstJsrServerExtendsEndpointImpl(metrics)); context.addBean(wsContainer); context.setAttribute(javax.websocket.server.ServerContainer.class.getName(), wsContainer); context.setAttribute(WebSocketUpgradeFilter.class.getName(), filter); return wsContainer; } }
/** * @deprecated use {@link #configureContext(ServletContextHandler)} instead * @param context the ServletContext to use * @return a configured {@link WebSocketUpgradeFilter} instance * @throws ServletException if the filer cannot be configured */ @Deprecated public static WebSocketUpgradeFilter configureContext(ServletContext context) throws ServletException { ContextHandler handler = ContextHandler.getContextHandler(context); if (handler == null) { throw new ServletException("Not running on Jetty, WebSocket support unavailable"); } if (!(handler instanceof ServletContextHandler)) { throw new ServletException("Not running in Jetty ServletContextHandler, WebSocket support via " + WebSocketUpgradeFilter.class.getName() + " unavailable"); } return configureContext((ServletContextHandler) handler); }
if (max != null) getFactory().getPolicy().setIdleTimeout(Long.parseLong(max)); if (max != null) getFactory().getPolicy().setMaxTextMessageSize(Integer.parseInt(max)); if (max != null) getFactory().getPolicy().setMaxBinaryMessageSize(Integer.parseInt(max)); if (max != null) getFactory().getPolicy().setInputBufferSize(Integer.parseInt(max)); setToAttribute(config.getServletContext(), instanceKey);
filter.addMapping(new ServletPathSpec("/foo/*"),new SingleWebSocketCreator(FooSocket.class)); filter.addMapping(new ServletPathSpec("/bar/*"),new SingleWebSocketCreator(BarSocket.class)); filter.addMapping(new ServletPathSpec("/*.ws"),new SingleWebSocketCreator(WsTypeSocket.class)); filter.addMapping(new RegexPathSpec("/chat/room/[a-zA-z_]*/public"),new SingleWebSocketCreator(ChatSocket.class));
@Override public WebSocketCreator getMapping(String target) { return getConfiguration().getMapping(target); }
filter = new WebSocketUpgradeFilter(configuration); filter.setToAttribute(context, WebSocketUpgradeFilter.class.getName());
private void setToAttribute(ServletContextHandler context, String key) throws ServletException { setToAttribute(context.getServletContext(), key); }
final WebSocketUpgradeFilter wsFilter = WebSocketUpgradeFilter.configureContext(environment.getApplicationContext()); wsFilter.getFactory().getPolicy().setIdleTimeout(WEBSOCKET_TCP_IDLE_TIMEOUT_IN_MILLISECONDS); wsFilter.addMapping(Constants.WEBSOCKET_JOB_EVENTS_PATH, new JobEventSocketCreator(jobManager)); wsFilter.addMapping( new RegexPathSpec(WEBSOCKET_STDERR_UPDATES_PATTERN), new StderrUpdateSocketCreator(jobManager)); wsFilter.addMapping( new RegexPathSpec(WEBSOCKET_STDOUT_UPDATES_PATTERN), new StdoutUpdateSocketCreator(jobManager));
public static ServerContainer configureContext(final MutableServletContextHandler context, final MetricRegistry metrics) throws ServletException { WebSocketUpgradeFilter filter = WebSocketUpgradeFilter.configureContext(context); NativeWebSocketConfiguration wsConfig = filter.getConfiguration(); ServerContainer wsContainer = new ServerContainer(wsConfig, context.getServer().getThreadPool()); EventDriverFactory edf = wsConfig.getFactory().getEventDriverFactory(); edf.clearImplementations(); edf.addImplementation(new InstJsrServerEndpointImpl(metrics)); edf.addImplementation(new InstJsrServerExtendsEndpointImpl(metrics)); context.addBean(wsContainer); context.setAttribute(javax.websocket.server.ServerContainer.class.getName(), wsContainer); context.setAttribute(WebSocketUpgradeFilter.class.getName(), filter); return wsContainer; } }
WebSocketUpgradeFilter wsuf = WebSocketUpgradeFilter.configureContext(context); context.setAttribute(instanceKey, wsuf);
try { webSocketServletContextHandler = new ServletContextHandler(null, "/", true, false); WebSocketUpgradeFilter webSocketUpgradeFilter = WebSocketUpgradeFilter.configureContext(webSocketServletContextHandler); if (webSocketIdleTimeoutMillis.isPresent()) { webSocketUpgradeFilter.getFactory().getPolicy().setIdleTimeout(webSocketIdleTimeoutMillis.get());