Hi Stephan ... doh'
that would explain it ... I'm sorry that Tomcat hasn't received the love it should have ... but thanks for good work :-) regards, Achim 2017-03-13 10:18 GMT+01:00 Stephan Siano <stephan.si...@sap.com>: > Hi Achim, > > I created https://ops4j1.jira.com/browse/PAXWEB-1072 for it. > > I don't think it ever worked, there is just no coding for it in > TomcatResourceServlet. I will see if I can do something about it. > > Best regards > Stephan > > Am Montag, 13. März 2017 08:36:54 UTC+1 schrieb Achim Nierbeck: >> >> Hi Stephan, >> >> we will need a new Issue for that then. >> Though I'm wondering if that one slipped till now or if it is some sort >> of regression. >> >> regards, Achim >> >> >> 2017-03-13 7:46 GMT+01:00 Stephan Siano <stepha...@sap.com>: >> >>> HI Achim, >>> >>> concerning your question about the welcome file support: I can confirm >>> that welcom file configurations do not work (at least not configured in >>> web.xml). That's the reason why the majority of the remaining tomcat >>> integration tests do not run. >>> >>> In the moment, I am a bit at loss, why this does not work. Is there any >>> coding concerning the welcome file support in pax-web-jetty? >>> >>> Best regards >>> Stephan >>> >>> Am Samstag, 11. März 2017 22:03:15 UTC+1 schrieb Achim Nierbeck: >>>> >>>> Hi Stephan, >>>> >>>> cool did take a look at it. >>>> Just some comments but nothing important. >>>> Feel free to merge any time. >>>> >>>> regards, Achim >>>> >>>> >>>> 2017-03-11 21:47 GMT+01:00 Stephan Siano <stepha...@sap.com>: >>>> >>>>> Hi Achim, >>>>> >>>>> I created pull request https://github.com/ops4j/org.o >>>>> ps4j.pax.web/pull/77 for the change. Could you have a look? I am not >>>>> absolutely sure about the things I am doing to the class loaders (but JSF >>>>> will not run without these changes). >>>>> >>>>> Best regards >>>>> Stephan >>>>> >>>>> Am Samstag, 11. März 2017 17:26:25 UTC+1 schrieb Achim Nierbeck: >>>>>> >>>>>> Hi Stephan, >>>>>> >>>>>> sounds great. >>>>>> I think PAXWEB-993 is fine as, those are findings on fixing that. >>>>>> >>>>>> regards, Achim >>>>>> >>>>>> >>>>>> 2017-03-11 9:59 GMT+01:00 Stephan Siano <stepha...@sap.com>: >>>>>> >>>>>>> Hi Achim, >>>>>>> >>>>>>> The servlet is not working if the jfaces Excepton is thrown during >>>>>>> startup of the servlet context. >>>>>>> >>>>>>> However, I think I got this running now. There were actually >>>>>>> multiple issues that were preventing the tests from running (at least >>>>>>> the >>>>>>> one I checked for now, I hope the others are easier): >>>>>>> 1. el-Support was not running in tomcat. The el-lookup only works if >>>>>>> the pax-web-jsp bundle (where the el-Implementation is located) is in >>>>>>> the >>>>>>> classpath. I copied some code from the jetty implementation that sets a >>>>>>> parent classloader to the conecxt and imported the javax.el bundles in >>>>>>> the >>>>>>> pax-web-tomcat bundles as optional dependencies for that (the same >>>>>>> imports >>>>>>> as in pax-web-jetty). >>>>>>> 2. The jfaces library creates an internal map for the factories. The >>>>>>> key for the map is the thread context classloader, so the lookup will >>>>>>> fail >>>>>>> if the initialization of the factories is done with a different thread >>>>>>> context classloader than the initi call, you see the second exception I >>>>>>> posted intially. It also means that the operation that is attempted >>>>>>> fails >>>>>>> (which may be less critical for other operations than the init call). >>>>>>> Removing two thread context class loader changes from the code made the >>>>>>> servlet finally work. Unfortunately I don't know why these class loader >>>>>>> changes were there in the first place, so I might have broken something >>>>>>> else in the process (need to have a look about this). >>>>>>> 3. The tests themselves also had issues: Tomcat does not support >>>>>>> welcome files (so the index.jsp has to be called directly). Furthermore >>>>>>> the >>>>>>> test comcat server is running with a different port than the itest-jetty >>>>>>> server, but the second server call in one of the tests was to the jetty >>>>>>> port (so this can never have worked). >>>>>>> >>>>>>> If I get this running smoothly, do I cfeate the pull request for >>>>>>> PAXWEB-993 (as it also enables the JSF tests, or do I create a new JIRA >>>>>>> task (because it actually also fixes JSF support with tomcat). >>>>>>> >>>>>>> Best regards >>>>>>> Stephan >>>>>>> >>>>>>> >>>>>>> >>>>>>> Am Freitag, 10. März 2017 16:58:58 UTC+1 schrieb Achim Nierbeck: >>>>>>>> >>>>>>>> Hi Stephan, >>>>>>>> >>>>>>>> the second exception you also get with Jetty ... never found the >>>>>>>> reason for it :/ >>>>>>>> did you check if by any chances the JSF pages actually do work? >>>>>>>> >>>>>>>> regards, Achim >>>>>>>> >>>>>>>> >>>>>>>> 2017-03-10 16:46 GMT+01:00 Stephan Siano <stepha...@sap.com>: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> I have tried to enable the JSF based integration tests with the >>>>>>>>> tomcat web container. These tests fail becasue the war-jsf war does >>>>>>>>> not >>>>>>>>> start. >>>>>>>>> >>>>>>>>> The first issue I see is that the expression factory cannot be >>>>>>>>> found. >>>>>>>>> >>>>>>>>> javax.el.ELException: Unable to find ExpressionFactory of type: >>>>>>>>> org.apache.el.ExpressionFactoryImpl >>>>>>>>> at javax.el.ExpressionFactory.new >>>>>>>>> Instance(ExpressionFactory.java:165)[104:org.ops4j.pax.tipi. >>>>>>>>> tomcat-embed-core:8.0.14.1] >>>>>>>>> at javax.el.ExpressionFactory.new >>>>>>>>> Instance(ExpressionFactory.java:104)[104:org.ops4j.pax.tipi. >>>>>>>>> tomcat-embed-core:8.0.14.1] >>>>>>>>> >>>>>>>>> >>>>>>>>> I have looked into the jetty code and they replace the classloader >>>>>>>>> for the context (which is a ResouceDelegatingBundleClassloader >>>>>>>>> for the war) with a newly instantiated >>>>>>>>> ResourceDelegatingBundleClassloader, >>>>>>>>> which uses the pax-web-jetty-bundle classloader as a parent >>>>>>>>> classloader. If >>>>>>>>> I do the same in pax-web-tomcat (with pax-web-tomcat-bundle as a >>>>>>>>> parent >>>>>>>>> classloader) el works, but now I get another error: >>>>>>>>> >>>>>>>>> org.ops4j.pax.web.pax-web-runtime[org.ops4j.pax.web.service.internal.HttpServiceStarted] >>>>>>>>> : Exception finalizing HttpContext registration >>>>>>>>> org.apache.catalina.LifecycleException: Failed to start component >>>>>>>>> [StandardEngine[Catalina].StandardHost[localhost].StandardCo >>>>>>>>> ntext[[war-jsf-sample]-org.ops4j.pax.web.extender.war. >>>>>>>>> internal.WebAppWebContainerContext]] >>>>>>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase. >>>>>>>>> java:154) >>>>>>>>> at org.ops4j.pax.web.service.tomc >>>>>>>>> at.internal.TomcatServerWrapper$2$1.call(TomcatServerWrapper >>>>>>>>> .java:903) >>>>>>>>> at org.ops4j.pax.web.service.tomc >>>>>>>>> at.internal.TomcatServerWrapper$2$1.call(TomcatServerWrapper >>>>>>>>> .java:899) >>>>>>>>> at org.ops4j.pax.swissbox.core.Co >>>>>>>>> ntextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUt >>>>>>>>> ils.java:60) >>>>>>>>> at org.ops4j.pax.web.service.tomc >>>>>>>>> at.internal.TomcatServerWrapper$2.start(TomcatServerWrapper. >>>>>>>>> java:897) >>>>>>>>> at org.ops4j.pax.web.service.internal.HttpServiceStarted.end( >>>>>>>>> HttpServiceStarted.java:1137) >>>>>>>>> at org.ops4j.pax.web.service.inte >>>>>>>>> rnal.HttpServiceProxy.end(HttpServiceProxy.java:444) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.RegisterWebAppVisitorWC.end(RegisterWebAppVisitorW >>>>>>>>> C.java:398) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.model.WebApp.accept(WebApp.java:656) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.WebAppPublisher$WebAppDependencyListener.register( >>>>>>>>> WebAppPublisher.java:228) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.WebAppPublisher$WebAppDependencyListener.addingSer >>>>>>>>> vice(WebAppPublisher.java:173) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.WebAppPublisher$WebAppDependencyListener.addingSer >>>>>>>>> vice(WebAppPublisher.java:129) >>>>>>>>> at org.osgi.util.tracker.ServiceT >>>>>>>>> racker$Tracked.customizerAdding(ServiceTracker.java:941) >>>>>>>>> at org.osgi.util.tracker.ServiceT >>>>>>>>> racker$Tracked.customizerAdding(ServiceTracker.java:870) >>>>>>>>> at org.osgi.util.tracker.Abstract >>>>>>>>> Tracked.trackAdding(AbstractTracked.java:256) >>>>>>>>> at org.osgi.util.tracker.Abstract >>>>>>>>> Tracked.trackInitial(AbstractTracked.java:183) >>>>>>>>> at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker. >>>>>>>>> java:318) >>>>>>>>> at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker. >>>>>>>>> java:261) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.WebAppPublisher.publish(WebAppPublisher.java:98) >>>>>>>>> at org.ops4j.pax.web.extender.war.internal.WebObserver.deploy( >>>>>>>>> WebObserver.java:217) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.WebObserver$1.doStart(WebObserver.java:172) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.extender.SimpleExtension.start(SimpleExtension.java:59) >>>>>>>>> at org.ops4j.pax.web.extender.war >>>>>>>>> .internal.extender.AbstractExtender.lambda$createExtension$ >>>>>>>>> 0(AbstractExtender.java:277) >>>>>>>>> at java.util.concurrent.Executors$RunnableAdapter.call( >>>>>>>>> Executors.java:511) >>>>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:266) >>>>>>>>> at java.util.concurrent.Scheduled >>>>>>>>> ThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledT >>>>>>>>> hreadPoolExecutor.java:180) >>>>>>>>> at java.util.concurrent.Scheduled >>>>>>>>> ThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPo >>>>>>>>> olExecutor.java:293) >>>>>>>>> at java.util.concurrent.ThreadPoo >>>>>>>>> lExecutor.runWorker(ThreadPoolExecutor.java:1142) >>>>>>>>> at java.util.concurrent.ThreadPoo >>>>>>>>> lExecutor$Worker.run(ThreadPoolExecutor.java:617) >>>>>>>>> at java.lang.Thread.run(Thread.java:745) >>>>>>>>> Caused by: java.lang.IllegalStateException: No Factories >>>>>>>>> configured for this Application. This happens if the >>>>>>>>> faces-initialization >>>>>>>>> does not work at all - make sure that you properly include all >>>>>>>>> configuration settings necessary for a basic faces application and >>>>>>>>> that all >>>>>>>>> the necessary libs are included. Also check the logging output of >>>>>>>>> your web >>>>>>>>> application and your container for any exceptions! >>>>>>>>> If you did that and find nothing, the mistake might be due to the >>>>>>>>> fact that you use some special web-containers which do not support >>>>>>>>> registering context-listeners via TLD files and a context listener is >>>>>>>>> not >>>>>>>>> setup in your web.xml. >>>>>>>>> A typical config looks like this; >>>>>>>>> <listener> >>>>>>>>> <listener-class>org.apache.myfaces.webapp.StartupServletCont >>>>>>>>> extListener</listener-class> >>>>>>>>> </listener> >>>>>>>>> >>>>>>>>> at javax.faces.FactoryFinder._get >>>>>>>>> Factory(FactoryFinder.java:305) >>>>>>>>> at javax.faces.FactoryFinder.getF >>>>>>>>> actory(FactoryFinder.java:225) >>>>>>>>> at javax.faces.webapp.FacesServlet.init(FacesServlet.java:115) >>>>>>>>> at org.apache.catalina.startup.To >>>>>>>>> mcat$ExistingStandardWrapper.loadServlet(Tomcat.java:868) >>>>>>>>> at org.ops4j.pax.web.service.tomc >>>>>>>>> at.internal.TomcatServerWrapper$OsgiExistingStandardWrapper$ >>>>>>>>> 1.call(TomcatServerWrapper.java:289) >>>>>>>>> at org.ops4j.pax.web.service.tomc >>>>>>>>> at.internal.TomcatServerWrapper$OsgiExistingStandardWrapper$ >>>>>>>>> 1.call(TomcatServerWrapper.java:284) >>>>>>>>> at org.ops4j.pax.swissbox.core.Co >>>>>>>>> ntextClassLoaderUtils.doWithClassLoader(ContextClassLoaderUt >>>>>>>>> ils.java:60) >>>>>>>>> at org.ops4j.pax.web.service.tomc >>>>>>>>> at.internal.TomcatServerWrapper$OsgiExistingStandardWrapper. >>>>>>>>> load(TomcatServerWrapper.java:282) >>>>>>>>> at org.apache.catalina.core.Stand >>>>>>>>> ardContext.loadOnStartup(StandardContext.java:4969) >>>>>>>>> at org.apache.catalina.core.Stand >>>>>>>>> ardContext.startInternal(StandardContext.java:5255) >>>>>>>>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase. >>>>>>>>> java:150) >>>>>>>>> ... 29 more >>>>>>>>> >>>>>>>>> Do you have any idea, what is wrong now? >>>>>>>>> >>>>>>>>> Best regards >>>>>>>>> Stephan >>>>>>>>> >>>>>>>>> -- >>>>>>>>> -- >>>>>>>>> ------------------ >>>>>>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com >>>>>>>>> >>>>>>>>> --- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "OPS4J" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to ops4j+un...@googlegroups.com. >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> >>>>>>>> Apache Member >>>>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>>>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> >>>>>>>> Committer & Project Lead >>>>>>>> blog <http://notizblog.nierbeck.de/> >>>>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >>>>>>>> >>>>>>>> Software Architect / Project Manager / Scrum Master >>>>>>>> >>>>>>>> -- >>>>>>> -- >>>>>>> ------------------ >>>>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com >>>>>>> >>>>>>> --- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "OPS4J" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to ops4j+un...@googlegroups.com. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> >>>>>> Apache Member >>>>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>>>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> >>>>>> Committer & Project Lead >>>>>> blog <http://notizblog.nierbeck.de/> >>>>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >>>>>> >>>>>> Software Architect / Project Manager / Scrum Master >>>>>> >>>>>> -- >>>>> -- >>>>> ------------------ >>>>> OPS4J - http://www.ops4j.org - op...@googlegroups.com >>>>> >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "OPS4J" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to ops4j+un...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>>> >>>> -- >>>> >>>> Apache Member >>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC >>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> >>>> Committer & Project Lead >>>> blog <http://notizblog.nierbeck.de/> >>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >>>> >>>> Software Architect / Project Manager / Scrum Master >>>> >>>> -- >>> -- >>> ------------------ >>> OPS4J - http://www.ops4j.org - op...@googlegroups.com >>> >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "OPS4J" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to ops4j+un...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> >> Apache Member >> Apache Karaf <http://karaf.apache.org/> Committer & PMC >> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer >> & Project Lead >> blog <http://notizblog.nierbeck.de/> >> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> >> >> Software Architect / Project Manager / Scrum Master >> >> -- > -- > ------------------ > OPS4J - http://www.ops4j.org - ops4j@googlegroups.com > > --- > You received this message because you are subscribed to the Google Groups > "OPS4J" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to ops4j+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Apache Member Apache Karaf <http://karaf.apache.org/> Committer & PMC OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer & Project Lead blog <http://notizblog.nierbeck.de/> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS> Software Architect / Project Manager / Scrum Master -- -- ------------------ OPS4J - http://www.ops4j.org - ops4j@googlegroups.com --- You received this message because you are subscribed to the Google Groups "OPS4J" group. To unsubscribe from this group and stop receiving emails from it, send an email to ops4j+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.