Marco, On 2/19/15 3:38 PM, Marco Semiao wrote: > Thank you for your answer and sorry for putting the wrong mailing list ;)
Actually, after re-reading your post I think you were right to post to dev@. Please see below. > 2015-02-19 20:22 GMT+01:00 Christopher Schultz <ch...@christopherschultz.net >> : > > Marco, > > This is probably a question better asked on the user mailing list. I'm > cross-posting to both lists, and I'll give more feedback on the user list. > > -chris > > On 2/19/15 11:25 AM, Marco Semiao wrote: >>>> I use on my application a web listener ( ServletContextListener ) >>>> that allows you to compile jsp at startup . >>>> >>>> It does not work on Tomcat 8 in call : >>>> servletContext.getRequestDispatcher ( path); >>>> >>>> Here is the stack : >>>> >>>> org.apache.catalina.core.ApplicationContext.log Error during >>>> mapping java.lang.NullPointerException at >>>> org.apache.catalina.mapper.Mapper.internalMapWrapper(Mapper.java:842) >>>> >>>> > at org.apache.catalina.mapper.Mapper.map(Mapper.java:712) >>>> at >>>> > org.apache.catalina.core.ApplicationContext.getRequestDispatcher(ApplicationContext.java:503) >>>> >>>> > at >>>> > org.apache.catalina.core.ApplicationContextFacade.getRequestDispatcher(ApplicationContextFacade.java:221) >>>> >>>> > at >>>> > fr.ms.tomcat.servlet.listener.JspCompileRunnable.run(JspCompileRunnable.java:25) >>>> >>>> > This is occurs when the map contextObjectToContextVersionMap is still null. >>>> >>>> It is enriched at the end of the boot StandardServer so after >>>> initializing listeners . >>>> >>>> Thread [main] (Suspended (breakpoint at line 265 in Mapper)) owns: >>>> MapperListener (id=456) owns: StandardService (id=457) owns: >>>> Object (id=458) owns: StandardServer (id=459) >>>> Mapper.addContextVersion(String, Host, String, String, Context, >>>> String[], WebResourceRoot, Collection<WrapperMappingInfo>) line: >>>> 265 MapperListener.registerContext(Context) line: 380 >>>> MapperListener.registerHost(Host) line: 302 >>>> MapperListener.startInternal() line: 110 >>>> MapperListener(LifecycleBase).start() line: 150 >>>> StandardService.startInternal() line: 450 >>>> StandardService(LifecycleBase).start() line: 150 >>>> StandardServer.startInternal() line: 769 >>>> StandardServer(LifecycleBase).start() line: 150 Catalina.start() >>>> line: 625 NativeMethodAccessorImpl.invoke0(Method, Object, >>>> Object[]) line: not available [native method] >>>> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 57 >>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43 >>>> Method.invoke(Object, Object...) line: 606 Bootstrap.start() line: >>>> 351 Bootstrap.main(String[]) line: 485 >>>> >>>> >>>> >>>> it works fine with tomcat 5, 6 and 7. >>>> >>>> >>>> Environnement : apache- tomcat- 8.0.15 or apache -tomcat- 8.0.18 >>>> Windows 8.1 Java 7 update 75 It certainly seems like this should work, but I can understand why the Mapper doesn't actually map the context until it's completely started up: otherwise, requests could come in before the application was ready. -chris
signature.asc
Description: OpenPGP digital signature