Dear Joakim, (So I upgraded from Jetty 9.0.3 to 9.4.7) Seems the the JettyJasperInitializer is not invoked. Looking at this code: https://www.programcreek.com/java-api-examples/index.php?api=org.eclipse.jetty.apache.jsp.JettyJasperInitializer I added the part “ // Needed to initialize JSP! “, and it works but feels like a hack.
I thought this JasperInitializer should be automatically detected? Regards, Roland From: Houtman, Roland Sent: 20 September 2017 9:33 To: JETTY user mailing list Subject: RE: [jetty-users] Jetty 9.03 - seeing maximum websocket connection limit. why? Thanks, It seems the Windows 10 (LTSB – Long Term Service Branch) is the bottleneck, because someone ran it on a ‘Windows Server 2008 R2 Enterprise SP1’ and then 50 clients were able to connect instead of 35-ish. We’re going to verify that. You’re correct I meant 1.8u131. I’ve done as you said, and put the Jetty 9.4.7 in place. Put all the jars (from the lib of the distribution) on the classpath and running with Java 1.8u60(serverside version comes with the old code). Other than 2 interfaces moving a method to somewhere else, compiling wasn’t the issue. But I’ve now come to the point that the webserver is running, but JSP pages fail to compile. I’ve added the code as said in the examples and here https://stackoverflow.com/questions/32583103/jsp-compilation-error-on-jetty-9-3-3 , but without success. (could it be the initializer still isn’t picked up by its annotations?) [[[ Setting up the server ]]] // Since Jetty 9.4 Configuration.ClassList classlist = Configuration.ClassList.setServerDefault( mServer ); // We need to enable the AnnotationConfiguration in order to correctly set up the jsp container classlist.addBefore("org.eclipse.jetty.webapp.JettyWebXmlConfiguration","org.eclipse.jetty.annotations.AnnotationConfiguration" ); //Enable parsing of jndi-related parts of web.xml and jetty-env.xml classlist.addAfter("org.eclipse.jetty.webapp.FragmentConfiguration", "org.eclipse.jetty.plus.webapp.EnvConfiguration", "org.eclipse.jetty.plus.webapp.PlusConfiguration"); ... // Since Jetty 9.4 // Set the ContainerIncludeJarPattern so that jetty examines these // container-path jars for tlds, web-fragments etc. // If you omit the jar that contains the jstl .tlds, the jsp engine will // scan for them instead. mWapContext.setAttribute("org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern", ".*/[^/]*servlet-api-[^/]*\\.jar$|.*/javax.servlet.jsp.jstl-.*\\.jar$|.*/[^/]*taglibs.*\\.jar$" ); … // Force temp folder mWapContext.setAttribute(ServletContext.TEMPDIR, mLST); … mDeployMgr.setContextAttribute(ServletContext.TEMPDIR, mLST); [[[ Added to web.xml ]]] <web-app …… metadata-complete="false" > [[[ end ]]] The Exeption logged is: WARNING: unavailable java.lang.NullPointerException at org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:515) at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1853) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:219) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:372) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:333) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:138) at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:637) at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:498) at org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:785) at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:770) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:530) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:561) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597) at java.lang.Thread.run(Thread.java:745) Sep 20, 2017 9:25:32 AM org.eclipse.jetty.server.HttpChannel handleException WARNING: /jws/poi.jnlp javax.servlet.ServletException: org.apache.jasper.JasperException: Unable to compile class for JSP at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:561) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:334) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.jasper.JasperException: Unable to compile class for JSP at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:615) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) at org.apache.jasper.servlet.JspServlet.init(JspServlet.java:138) at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:637) at org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:498) at org.eclipse.jetty.servlet.ServletHolder.ensureInstance(ServletHolder.java:785) at org.eclipse.jetty.servlet.ServletHolder.prepare(ServletHolder.java:770) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:530) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) ... 10 more Caused by: java.lang.NullPointerException at org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:515) at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1853) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:219) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:372) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:333) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600) ... 33 more Sep 20, 2017 9:25:32 AM org.eclipse.jetty.server.handler.ErrorHandler doError WARNING: EXCEPTION org.apache.jasper.JasperException: Unable to compile class for JSP at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:615) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:368) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329) at org.eclipse.jetty.jsp.JettyJspServlet.service(JettyJspServlet.java:112) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:833) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:535) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:566) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:203) at org.eclipse.jetty.server.Dispatcher.error(Dispatcher.java:81) at org.eclipse.jetty.server.handler.ErrorHandler.doError(ErrorHandler.java:119) at org.eclipse.jetty.server.handler.ErrorHandler.handle(ErrorHandler.java:78) at org.eclipse.jetty.server.Response.sendError(Response.java:655) at org.eclipse.jetty.server.handler.AbstractHandler.doError(AbstractHandler.java:100) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1247) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:561) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.apache.jasper.compiler.Validator$ValidateVisitor.<init>(Validator.java:515) at org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1853) at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:219) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:372) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:333) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:600) ... 45 more From: [email protected]<mailto:[email protected]> [mailto:[email protected]] On Behalf Of Joakim Erdfelt Sent: 19 September 2017 17:58 To: JETTY user mailing list Subject: Re: [jetty-users] Jetty 9.03 - seeing maximum websocket connection limit. why? Jetty 9.0.3 is very old and represents the earliest implementations of the websocket stack. Please consider using something more recent. Especially since you are also using HTTPS (TLS/SSL) as you have an obligation to keep your Jetty and JVM up to date to maintain compatibility with the quickly evolving TLS/SSL landscape. Jetty 9.4.7.v20170914 was just released. http://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00111.html Java 1.8u133 is odd, that doesn't look right (cannot find a Java release<http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html> with that update number) Release notes for 1.8u131<http://www.oracle.com/technetwork/java/javase/8u131-relnotes-3565278.html> says it expired July 18, 2017 Release notes for 1.8u141<http://www.oracle.com/technetwork/java/javase/8u141-relnotes-3720385.html> says it will expire next month on Oct 17, 2017 Also, since you stated you are running on Windows 10, keep in mind that many Windows network security tools / firewalls will get in your way and limit/prevent behaviors you might be attempting to rely on. Joakim Erdfelt / [email protected]<mailto:[email protected]> On Tue, Sep 19, 2017 at 5:10 AM, Houtman, Roland <[email protected]<mailto:[email protected]>> wrote: Hi All, We’re running 1x Windows 10 inside virtualBox for the server instance 3x Windows 10 on a physical machine to run 25 client instances each Java 1.8u133 with 2GB ram. Jetty 9.03 We’re connecting software which opens per instance: - two websockets, and - some servlets for listing folder content which is invoked regularly. And - a servlet for downloading files. all via HTTPS When opening about 40 client instances, Then, setting up the websocket fails more and more. With many tries I got to 52 client software instances running. The server software is still having 1 GB free heapspace. And no noticeable CPU usage Which machine the client software runs from(i.e. either single client instance running,or 25 instances running), has no impact on success rate. Does anyone know why this limit is surfacing? I already read somewhere to increase the QueuedThreadPool. I set it (from default 200) to 750, but there was no noticeable difference. Kind regards, Roland _______________________________________________ jetty-users mailing list [email protected]<mailto:[email protected]> To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
_______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/jetty-users
