Hi Jan, Thanks for taking time to looking into this issue. My Initial post did not address the problem correctly. After further investigation I have found out the exact issue but the solution still eludes me. Hope you will be able to help me with that.
The reason I was receiving null servletContext was because I was sharing a single SessionHandler object among many WebAppContexts. In < Jetty 9.4 I used to share a HashSessionManager object between WebAppContexts as a way of sharing session objects among them so that users don't have to re-authenticate. The strategy seemed to work fine without any issues. In Jetty 9.4 due to changes to Session Management, I am not able to implement similar strategy. SessionCache are specific to contexts and I am not able to share sessions between contexts. Is there a way to implement global sessions (server level rather than context level) in Jetty 9.4 ? Thanks & Regards, Aravind. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Sent: Friday, September 08, 2017 1:08 PM To: [email protected] Subject: jetty-users Digest, Vol 100, Issue 9 Send jetty-users mailing list submissions to [email protected] To subscribe or unsubscribe via the World Wide Web, visit https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.eclipse.org_mailman_listinfo_jetty-2Dusers&d=DwICAg&c=3v6EBbtpnn9A7jIZYjOw6KN7Pe17WoimzcinOq2Xztg&r=YbS3Xf40CmAQ12d73dX0bv-TPzDJnSuxn9AFms1fOWg&m=3EtJu1ppbjOzJ_v-OwhfrxLvSX0DZks9P4rZrXYXMgE&s=RvIeN8HbsO4LJBVcUHpSc5W1dLA4pLTzZV6ZsOpK35o&e= or, via email, send a message with subject or body 'help' to [email protected] You can reach the person managing the list at [email protected] When replying, please edit your Subject line so it is more specific than "Re: Contents of jetty-users digest..." Today's Topics: 1. jetty 9.4.6 - getting null servletcontext in servlets (Raghavan, Aravind) 2. Re: jetty 9.4.6 - getting null servletcontext in servlets (Jan Bartel) ---------------------------------------------------------------------- Message: 1 Date: Fri, 8 Sep 2017 03:05:10 +0000 From: "Raghavan, Aravind" <[email protected]> To: "'[email protected]'" <[email protected]> Subject: [jetty-users] jetty 9.4.6 - getting null servletcontext in servlets Message-ID: <[email protected]> Content-Type: text/plain; charset="us-ascii" Hi All, I recently upgraded from jetty 9.3.11 to 9.4.6 . And after upgrade none of my servlets are able to get servlet context. getServletContext() always returns null. Can you please help me figure out what I am doing wrong? Relevant section of code: handlers_ = new HandlerCollection(true); chc_ = new ContextHandlerCollection(); for(WebAppConfig wap: webAppConfigs) //webappconfig a POJO from where I am getting webapp configs { String path = wap.getPath(); String warFile = wap.getWarFile(); WebAppContext context = new WebAppContext(chc_, warFile, path); chc_.addHandler(context); context.setContextPath(path); for (ServletConfig servletConfig: wap.getServletConfigs()) //ServletConfig is another POJO to get servlet configs { String servletName = servletConfig.getName(); String servletPath = servletConfig.getPath(); Servlet servlet = servletConfig.getServlet(); ServletHolder servletHolder = new ServletHolder(servlet); context.addServlet(servletHolder, servletPath); } } handlers_.setHandlers(new Handler[] { chc_, new DefaultHandler()}); server_.setHandler(handlers_); Note the same code worked fined with 9.3.11. Getting null context only after upgrading to 9.4.6. I am not sure what has changed in 9.4.x to cause this issue. I can't find any changes (other than Session Management) in documentation. Thanks, Aravind. -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.eclipse.org_mailman_private_jetty-2Dusers_attachments_20170908_dc9bb395_attachment.html&d=DwICAg&c=3v6EBbtpnn9A7jIZYjOw6KN7Pe17WoimzcinOq2Xztg&r=YbS3Xf40CmAQ12d73dX0bv-TPzDJnSuxn9AFms1fOWg&m=3EtJu1ppbjOzJ_v-OwhfrxLvSX0DZks9P4rZrXYXMgE&s=uXSeFQ--5DZ_eEs5QQQ2vRjxbnpdypym5CKG62YtgHM&e= > ------------------------------ Message: 2 Date: Fri, 8 Sep 2017 15:08:20 +1000 From: Jan Bartel <[email protected]> To: JETTY user mailing list <[email protected]> Subject: Re: [jetty-users] jetty 9.4.6 - getting null servletcontext in servlets Message-ID: <CAEHc-316ZN2MCtR2mQ0jv=rwohofkl85dml51p7kkpmur2g...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" Aravind, There's not enough info in your post to pinpoint the problem. I've whipped up a small example based on your code, and it runs with no problems: Server server = new Server(8080); HandlerCollection handlers_ = new HandlerCollection(true); ContextHandlerCollection chc_ = new ContextHandlerCollection(); String path = "/blah"; WebAppContext context = new WebAppContext(chc_, "/path/to/distro/demo-base/webapps/test.war", path); //needed for the test webapp HashLoginService loginService = new HashLoginService(); loginService.setName( "Test Realm" ); loginService.setConfig( "/path/to/distro/demo-base/etc/realm.properties" ); server.addBean( loginService ); chc_.addHandler(context); context.setContextPath(path); String servletPath = "/blah/*"; Servlet servlet = new HelloServlet("blah-hello"); ServletHolder servletHolder = new ServletHolder(servlet); context.addServlet(servletHolder, servletPath); handlers_.setHandlers(new Handler[] { chc_, new DefaultHandler()}); server.setHandler(handlers_); server.start(); server.join(); Perhaps you have old jetty-9.3 jars on the classpath? In the absence of more info, I can only suggest that you turn on full debug to give a clue. Maybe also try a server.setDumpAfterStart(true) as well to see more. Jan On 8 September 2017 at 13:05, Raghavan, Aravind <[email protected] > wrote: > Hi All, > > > > I recently upgraded from jetty 9.3.11 to 9.4.6 . And after upgrade > none of my servlets are able to get servlet context. > getServletContext() always returns null. Can you please help me figure out > what I am doing wrong? > > > > Relevant section of code: > > > > handlers_ = *new* HandlerCollection(*true*); > > chc_ = *new* ContextHandlerCollection(); > > *for*(WebAppConfig wap: webAppConfigs) //webappconfig a POJO from where > I am getting webapp configs > > { > > String path = wap.getPath(); > > String warFile = wap.getWarFile(); > > WebAppContext context = > > *new* WebAppContext(chc_, warFile, path); > > chc_.addHandler(context); > > context.setContextPath(path); > > *for* (ServletConfig servletConfig: wap.getServletConfigs()) > //ServletConfig is another POJO to get servlet configs > > { > > String servletName = servletConfig.getName(); > > String servletPath = servletConfig.getPath(); > > Servlet servlet = servletConfig.getServlet(); > > ServletHolder servletHolder = *new* ServletHolder(servlet); > > context.addServlet(servletHolder, servletPath); > > } > > } > > handlers_.setHandlers(*new* Handler[] { chc_, *new* > DefaultHandler()}); > > server_.setHandler(handlers_); > > > > > > Note the same code worked fined with 9.3.11. Getting null context > only after upgrading to 9.4.6. I am not sure what has changed in > 9.4.x to cause this issue. I can?t find any changes (other than > Session Management) in documentation. > > > > > > *Thanks,* > > *Aravind.* > > > > > > _______________________________________________ > jetty-users mailing list > [email protected] > To change your delivery options, retrieve your password, or > unsubscribe from this list, visit > https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.eclipse.org_m > ailman_listinfo_jetty-2Dusers&d=DwICAg&c=3v6EBbtpnn9A7jIZYjOw6KN7Pe17W > oimzcinOq2Xztg&r=YbS3Xf40CmAQ12d73dX0bv-TPzDJnSuxn9AFms1fOWg&m=3EtJu1p > pbjOzJ_v-OwhfrxLvSX0DZks9P4rZrXYXMgE&s=RvIeN8HbsO4LJBVcUHpSc5W1dLA4pLT > zZV6ZsOpK35o&e= > -- Jan Bartel <[email protected]> www.webtide.com *Expert assistance from the creators of Jetty and CometD* -------------- next part -------------- An HTML attachment was scrubbed... URL: <https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.eclipse.org_mailman_private_jetty-2Dusers_attachments_20170908_85398a13_attachment.html&d=DwICAg&c=3v6EBbtpnn9A7jIZYjOw6KN7Pe17WoimzcinOq2Xztg&r=YbS3Xf40CmAQ12d73dX0bv-TPzDJnSuxn9AFms1fOWg&m=3EtJu1ppbjOzJ_v-OwhfrxLvSX0DZks9P4rZrXYXMgE&s=itXXamuZkZTco7DCOqWPAcHLxz54wS64UirsH4ZcZJ0&e= > ------------------------------ _______________________________________________ jetty-users mailing list [email protected] To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://urldefense.proofpoint.com/v2/url?u=https-3A__dev.eclipse.org_mailman_listinfo_jetty-2Dusers&d=DwICAg&c=3v6EBbtpnn9A7jIZYjOw6KN7Pe17WoimzcinOq2Xztg&r=YbS3Xf40CmAQ12d73dX0bv-TPzDJnSuxn9AFms1fOWg&m=3EtJu1ppbjOzJ_v-OwhfrxLvSX0DZks9P4rZrXYXMgE&s=RvIeN8HbsO4LJBVcUHpSc5W1dLA4pLTzZV6ZsOpK35o&e= End of jetty-users Digest, Vol 100, Issue 9 ******************************************* _______________________________________________ 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
