And https://issues.apache.org/jira/browse/WICKET-6073 for Wicket 6.x to use NIO connector.
Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Mon, Jan 11, 2016 at 9:03 PM, Martin Grigorov <[email protected]> wrote: > Hi, > > I have improved the quickstart in 7.x/8.x to enable support for JSR-356 > websocket in the quickstart by just uncommenting two lines in Start.java: > https://issues.apache.org/jira/browse/WICKET-6072 > > Thank you for all the feedback! > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Mon, Jan 4, 2016 at 2:57 PM, Daniel Stoch <[email protected]> > wrote: > >> On Fri, Jan 1, 2016 at 10:25 PM, Martin Grigorov <[email protected]> >> wrote: >> > Hi, >> > >> > >> > On Mon, Dec 28, 2015 at 4:49 PM, Daniel Stoch <[email protected]> >> > wrote: >> > >> >> Hi, >> >> >> >> As I wrote in my previous post "Native WebSockets - cookies and last >> >> handler question": In WebSocketResponse many methods throws >> >> UnsupportedOperationException. Some of them can be customized now >> >> thanks to WICKET-6054. >> >> >> >> But I have found another problem with WebSocketResponse.sendRedirect() >> >> method. When you send a message using >> >> IWebSocketConnection.sendMessage() and an exeption is raised somewhere >> >> during processing of this message you can get the following exception >> >> (the orignal exception is lost): >> >> >> >> Error during processing error message >> >> java.lang.UnsupportedOperationException >> >> at >> >> >> org.apache.wicket.protocol.ws.api.WebSocketResponse.sendRedirect(WebSocketResponse.java:205) >> >> at >> >> >> org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:176) >> >> at >> >> >> org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:327) >> >> at >> >> >> org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890) >> >> at >> >> >> org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:310) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:233) >> >> at >> >> >> org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289) >> >> at >> >> >> org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.broadcastMessage(AbstractWebSocketProcessor.java:251) >> >> at >> >> >> org.apache.wicket.protocol.ws.api.AbstractWebSocketConnection.sendMessage(AbstractWebSocketConnection.java:43) >> >> >> >> >> >> This is because WebPageRenderer by default calls redirectTo method. So >> >> it looks like WebSocketResponse.sendRedirect() should not throw >> >> exception in the default implementation? >> >> >> > >> > The default is to throw an exception so that you know that you are >> trying >> > to do something that is really not supported. >> > But now I think we can actually add support for it - as Ajax does with >> > <ajax-response><redirect>...</redirect></ajax-response> >> > Please file a ticket with a quickstart app! >> > Thank you! >> > >> >> WICKET-6064 >> >> >> BTW: The quickstart app is not compatible with websockets when you are >> trying to use Start.main(): >> >> java.lang.IllegalStateException: Websockets not supported on blocking >> connectors >> at >> org.eclipse.jetty.websocket.WebSocketFactory.upgrade(WebSocketFactory.java:237) >> at >> org.eclipse.jetty.websocket.WebSocketFactory.acceptWebSocket(WebSocketFactory.java:396) >> at >> org.apache.wicket.protocol.ws.jetty.Jetty7WebSocketFilter.acceptWebSocket(Jetty7WebSocketFilter.java:74) >> at >> org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:55) >> at >> org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:201) >> at >> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:282) >> at >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291) >> at >> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443) >> at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) >> at >> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:556) >> at >> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227) >> at >> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044) >> at >> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372) >> at >> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189) >> at >> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978) >> at >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) >> at >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) >> at org.eclipse.jetty.server.Server.handle(Server.java:369) >> at >> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486) >> at >> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) >> at >> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933) >> at >> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995) >> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) >> at >> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) >> at >> org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) >> at >> org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264) >> at >> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) >> at >> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) >> at java.lang.Thread.run(Thread.java:745) >> >> >> >> -- >> Daniel >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >
