Hi just some tired eyes on my side ;) But yeah this is better now :D Or my inmemory markdown compiler is already turned off :D
any way ... sounds good. regards, Achim 2017-05-23 21:36 GMT+02:00 Grzegorz Grzybek <[email protected]>: > Sorry for formatting - it's supposed to be markdown - I should stick to > text/plain... > > The point is - always ensure that: > - "default servlet" is registered (so it can sendError(404) which can > lead to invocation of error servlet) > - servlet controller starts the context (jetty, undertow, tomcat) if > servlet/filter/welcome-page is added and it's not web application > > btw - do you know how to start https://github.com/ops4j/org. > ops4j.pax.web/commits/pax-web-6.0.x ? May I ask for account on this > instance? > > regards > Grzegorz > > > 2017-05-23 21:24 GMT+02:00 'Achim Nierbeck' via OPS4J < > [email protected]>: > >> Hi, >> >> hmm ... it's already a bit late here. >> So I might be missing the crucial point (formating is also a bit strange >> :) ) >> but it looks ok from here :) >> >> regards, Achim >> >> >> 2017-05-23 21:15 GMT+02:00 Grzegorz Grzybek <[email protected]>: >> >>> Thanks >>> >>> So the fix is [here](https://github.com/ops4 >>> j/org.ops4j.pax.web/commit/5d5afb4d8da8e6528bc0c22c89c2488ba51df660) >>> >>> And here's the description: >>> * HttpServiceStarted **always** does: >>> ```java >>> if (model.getFilter/Servlet/WelcomePage() != null && >>> !isWebAppWebContainerContext(contextModel)) { >>> ... >>> serverController.getContext(contextModel).start(); >>> ... >>> } >>> ``` >>> which means that if your registering _resources_ outside of >>> RegisterWebAppVisitorXX, then pax-web doesn't know when you stop adding new >>> servlets/filters/etc. >>> * ResourceModel.java has `equals()` method than prevents adding it more >>> than once >>> *when creating a handler, undertow's Context ensures that there's >>> Servlet created from ResourceModel - to simulate what both >>> RegisterWebAppVisitorHC and RegisterWebAppVisitorWS do - which is >>> `webContainer.registerResources("/", "default", httpContext);` >>> * pax-web-undertow **always** destroys handler if ... it's started and >>> you're adding new servlets/filters/welcome-pages - it'll be recreated on >>> new request >>> * when undertow.ServerControllerImpl creates >>> `org.ops4j.pax.web.service.undertow.internal.Context` for the first >>> time - it **always** adds there `ResourceModel` (*default servlet*) - even >>> if pax-web-extender-war installs new web application, overriden >>> `ResourceModel.equals()` will prevent double registration. >>> >>> regards >>> Grzegorz Grzybek >>> >>> >>> 2017-05-23 20:40 GMT+02:00 'Achim Nierbeck' via OPS4J < >>> [email protected]>: >>> >>>> Hi Grzegorz, >>>> >>>> hmm taken into account that a std. container also does have a default >>>> servlet available it sounds good. >>>> Just need to make sure the current behaviour if no serviceable content >>>> is deployed the container remain silent ;) >>>> >>>> regards, Achim >>>> >>>> >>>> 2017-05-23 10:31 GMT+02:00 Grzegorz Grzybek <[email protected]>: >>>> >>>>> Hello >>>>> >>>>> I'm working on pax-web-undertow in particular, but I have general >>>>> issue with error pages, welcome files and similar resources. >>>>> >>>>> There's for example https://ops4j1.jira.com/browse/PAXWEB-1032 >>>>> "Strange handling of welcome files". >>>>> >>>>> It's better with pax-web-extender-war, because the unit of deployment >>>>> is analogous to web.xml file which, even if empty (no servlets, filters, >>>>> error pages, ...) is handled effectively by RegisterWebAppVisitorWC or >>>>> RegisterWebAppVisitorHS. >>>>> The first one does: webContainer.registerResources("/", "default", >>>>> httpContext); >>>>> The second one does: httpService.registerResources("/", "", >>>>> httpContext); >>>>> Regardless of what is found in the deployment descriptor (or in >>>>> org.ops4j.pax.web.extender.war.internal.model.WebApp) >>>>> >>>>> What do you think if we change the implementation, so "default" >>>>> servlet is *always* registered? >>>>> >>>>> For example with Undertow, without default servlet there's no ... >>>>> servlet to handle the request where no path matches, so no *servlet >>>>> resource* can send 404 error, so error pages can't be invoked. >>>>> There's simple low-level HttpHandler that simply sends 404 without >>>>> involving error pages (and anything from servlet specs in general). >>>>> >>>>> I'll experiment with having *default servlet* by default. >>>>> >>>>> regards >>>>> Grzegorz Grzybek >>>>> >>>>> -- >>>>> -- >>>>> ------------------ >>>>> OPS4J - http://www.ops4j.org - [email protected] >>>>> >>>>> --- >>>>> 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 [email protected]. >>>>> 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 - [email protected] >>>> >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "OPS4J" group. >>>> To unsubscribe from this topic, visit https://groups.google.com/d/to >>>> pic/ops4j/ZyvJGOf91-Q/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> -- >>> -- >>> ------------------ >>> OPS4J - http://www.ops4j.org - [email protected] >>> >>> --- >>> 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 [email protected]. >>> 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 - [email protected] >> >> --- >> You received this message because you are subscribed to a topic in the >> Google Groups "OPS4J" group. >> To unsubscribe from this topic, visit https://groups.google.com/d/to >> pic/ops4j/ZyvJGOf91-Q/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > -- > ------------------ > OPS4J - http://www.ops4j.org - [email protected] > > --- > 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 [email protected]. > 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 - [email protected] --- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
