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 > >
