I'm pretty sure nothing will write a jetty.xml when karaf is started. If you install pax-web for the first time it'll copy a jetty.xml as "template" to the etc folder [1]. The way the feature service handles this, no it won't interfere, cause only if the file doesn't exist it'll be copied.
regarding the configuration, again take a look at the feature [1]. regards, Achim [1] - https://github.com/ops4j/org.ops4j.pax.web/blob/master/pax-web-features/src/main/resources/features.xml#L91-L96 2016-03-30 22:34 GMT+02:00 Benson Margulies <[email protected]>: > We just noticed another fact. > > When Karaf starts up, pax-web or something writes out a jetty.xml to the > etc directory where there was none before. > > Wouldn't this interfere with trying to change individual config parameters > on the fly from the shell? > > If I have my own jetty.xml, it isn't replaced by some sort of merged-up > config. > > It also writes out a cfg file, but that's less surprising to me. > > javax.servlet.context.tempdir = > /Users/benson/x/rosapi1.5/assemblies/front-end/target/assembly/data/pax-web-jsp > org.ops4j.pax.web.config.file = > /Users/benson/x/rosapi1.5/assemblies/front-end/target/assembly/etc/jetty.xml > org.osgi.service.http.port = 8181 > > On Wed, Mar 30, 2016 at 3:52 PM, Achim Nierbeck <[email protected]> > wrote: > >> Hi Benson, >> >> yes, this is it. As demanded by the OSGi spec, the configuration for the >> server is done by configuration admin service. >> The jetty.xml is just available for convenience for specialized >> configurations. The same applies to the other two supported containers, >> Tomcat and Undertow. >> >> regards, Achim >> >> >> 2016-03-30 21:34 GMT+02:00 Benson Margulies <[email protected]>: >> >>> OK, time for me to apologize. >>> >>> In the environment where I have a jetty.xml to add static content, I >>> indeed have the setting in the cfg file. >>> >>> So, I decided to read the source. Here's the process I see, which >>> elaborates on your email. >>> >>> >>> 1. >>> org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.Stopped#start >>> creates the jetty server, passing in several config items from config >>> admin. >>> 2. If you supply a config.file, it might be a file, or it might be a >>> directory, presumably containing multiple jetty XML files. You can also >>> supply a config.url, which presumably points to a single XML file. >>> However, >>> if it's a dir and not a file, it's rejected as invalid. The URL takes >>> precedence. >>> 3. Config admin wins over a classpath resource >>> in org.ops4j.pax.web.service.jetty.internal.JettyServerImpl#start. >>> 4. The start method obtains the contents of the file, turns it into >>> a resource, and passes it to Jetty configuration. >>> 5. The start method passes another set of config admin parameters to >>> org.ops4j.pax.web.service.jetty.internal.JettyServer#configureContext. >>> 6. >>> org.ops4j.pax.web.service.jetty.internal.ServerControllerImpl.Stopped#start >>> looks to see if there is a 'master connector' as a result of processing >>> whatever configuration came through above. If there isn't one, it creates >>> one programmatically. >>> >>> So, the net of all of this is that there is no jetty.xml file in the >>> universe that represents the 'default configuration', and that a jetty.xml >>> that defines no connectors on the port number from config admin is purely a >>> supplement to the automatic configuration. >>> >>> I'll see if I can some up with any way to reflect any of this into the >>> doc as a proposed change. >>> >>> >>> On Wed, Mar 30, 2016 at 2:50 PM, Achim Nierbeck <[email protected] >>> > wrote: >>> >>>> Hi Benson, >>>> >>>> please take a look at the pax-web documentation [1]. >>>> The rule of thumb for Pax-Web is: >>>> >>>> configuration given via configuration admin service overrules anything >>>> configured via jetty.xml >>>> >>>> jetty.xml can be used for additional configuration which isn't >>>> configurable via properties / configuration admin service. >>>> >>>> Handlers are a special case, you can add those either via the jetty.xml >>>> or via OSGi services. >>>> >>>> regards, Achim >>>> >>>> [1] - >>>> http://ops4j.github.io/pax/web/4.2.x/index.html#_advanced_jetty_configuration >>>> >>>> >>>> 2016-03-30 18:26 GMT+02:00 Benson Margulies <[email protected]>: >>>> >>>>> JB, something happens even if you do _not_ add that line to the pax >>>>> web config file. I've added additional static content by just dropping in >>>>> a >>>>> jetty.xml file that adds a connector. Is the difference that adding the >>>>> web.cfg line causes your file to completely replace the default, instead >>>>> of >>>>> supplementing it? >>>>> >>>>> I'm on this today because we're trying to establish the answer to the >>>>> question of what idleTimeout is actually being used. >>>>> >>>>> >>>>> On Wed, Mar 30, 2016 at 12:10 PM, Jean-Baptiste Onofré < >>>>> [email protected]> wrote: >>>>> >>>>>> Correct. >>>>>> >>>>>> You can add in etc/org.ops4j.pax.web.cfg: >>>>>> >>>>>> org.ops4j.pax.web.config.file=${karaf.base}/etc/jetty.xml >>>>>> >>>>>> to provision your own jetty.xml. >>>>>> >>>>>> Regards >>>>>> JB >>>>>> >>>>>> >>>>>> On 03/30/2016 06:07 PM, Benson Margulies wrote: >>>>>> >>>>>>> Am I correct that none of the jetty.xml files in the Karaf source >>>>>>> tree >>>>>>> are live in the standard package, and that the config falls back to >>>>>>> pax-web? >>>>>>> >>>>>>> >>>>>> -- >>>>>> Jean-Baptiste Onofré >>>>>> [email protected] >>>>>> http://blog.nanthrax.net >>>>>> Talend - http://www.talend.com >>>>>> >>>>> >>>>> >>>> >>>> >>>> -- >>>> >>>> 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 >>>> >>>> >>> >> >> >> -- >> >> 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 >> >> > -- 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
