diff options
author | Jan Bartel | 2012-05-09 16:28:28 +0000 |
---|---|---|
committer | Jan Bartel | 2012-05-09 16:28:28 +0000 |
commit | 9aa5f49df5cc7036cf9cfe6f412273ffbc84b1dd (patch) | |
tree | 530c8bfe3d50766c35376fd3802f87c7a9dacafd | |
parent | 3618be23cd8e7093ace213b76138b260ad6852ed (diff) | |
download | org.eclipse.jetty.project-9aa5f49df5cc7036cf9cfe6f412273ffbc84b1dd.tar.gz org.eclipse.jetty.project-9aa5f49df5cc7036cf9cfe6f412273ffbc84b1dd.tar.xz org.eclipse.jetty.project-9aa5f49df5cc7036cf9cfe6f412273ffbc84b1dd.zip |
379015 Use factored jetty xml config files for defaults
6 files changed, 103 insertions, 169 deletions
diff --git a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-default.xml b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-default.xml index 68a662d033..30f8ea9d18 100644 --- a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-default.xml +++ b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-default.xml @@ -1,64 +1,29 @@ <?xml version="1.0"?> <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> + <!-- =============================================================== --> <!-- Configure the Jetty Server --> <!-- --> <!-- Documentation of this file format can be found at: --> -<!-- http://docs.codehaus.org/display/JETTY/jetty.xml --> -<!-- --> +<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax --> <!-- =============================================================== --> - <Configure id="Server" class="org.eclipse.jetty.server.Server"> <!-- =========================================================== --> <!-- Server Thread Pool --> <!-- =========================================================== --> <Set name="ThreadPool"> - <!-- Default queued blocking threadpool - --> + <!-- Default queued blocking threadpool --> <New class="org.eclipse.jetty.util.thread.QueuedThreadPool"> <Set name="minThreads">10</Set> <Set name="maxThreads">200</Set> + <Set name="detailedDump">false</Set> </New> </Set> - - <!-- =========================================================== --> - <!-- Set connectors --> - <!-- =========================================================== --> - - <Call name="addConnector"> - <Arg> - <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> - <Set name="host"><Property name="jetty.host" /></Set> - <Set name="port"><Property name="jetty.port" default="8080"/></Set> - <Set name="maxIdleTime">300000</Set> - <Set name="Acceptors">2</Set> - <Set name="statsOn">false</Set> - <Set name="confidentialPort">8443</Set> - <Set name="lowResourcesConnections">20000</Set> - <Set name="lowResourcesMaxIdleTime">5000</Set> - </New> - </Arg> - </Call> - - <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- To add a HTTP blocking connector --> - <!-- mixin jetty-bio.xml: --> - <!-- java -jar start.jar etc/jetty-bio.xml --> - <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - - <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- To allow Jetty to be started from xinetd --> - <!-- mixin jetty-xinetd.xml: --> - <!-- java -jar start.jar etc/jetty-xinetd.xml --> - <!-- --> - <!-- See jetty-xinetd.xml for further instructions. --> - <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> - <!-- =========================================================== --> <!-- Set handler Collection Structure --> <!-- =========================================================== --> @@ -80,45 +45,6 @@ </New> </Set> - <!-- =========================================================== --> - <!-- Configure the deployment manager --> - <!-- --> - <!-- Sets up 2 monitored dir app providers that are configured --> - <!-- to behave in a similaraly to the legacy ContextDeployer --> - <!-- and WebAppDeployer from previous versions of Jetty. --> - <!-- =========================================================== --> - <Call name="addBean"> - <Arg> - <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> - <Set name="contexts"> - <Ref id="Contexts" /> - </Set> - <Call name="setContextAttribute"> - <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg> - <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg> - </Call> - <!-- Providers of OSGi Apps --> - <Call name="addAppProvider"> - <Arg> - <New class="org.eclipse.jetty.osgi.boot.OSGiAppProvider"> - <!-- - <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set> - --> - <Set name="scanInterval">5</Set> - <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set> - <!-- comma separated list of bundle symbolic names that - contain custom tag libraries (*.tld files) - if those bundles don't exist or can't be loaded no errors or warning will be issued! - this default value is to plug the tld files of the reference implementation of JSF --> - <Set name="tldBundles"><Property name="org.eclipse.jetty.osgi.tldbundles" - default="javax.faces.jsf-impl" /></Set> - </New> - </Arg> - </Call> - - </New> - </Arg> - </Call> <!-- =========================================================== --> <!-- extra options --> @@ -127,8 +53,13 @@ <Set name="sendServerVersion">true</Set> <Set name="sendDateHeader">true</Set> <Set name="gracefulShutdown">1000</Set> + <Set name="dumpAfterStart">false</Set> + <Set name="dumpBeforeStop">false</Set> + - <!-- jetty-jndi by default --> + <!-- =========================================================== --> + <!-- jetty-jndi by default --> + <!-- =========================================================== --> <Call class="java.lang.System" name="setProperty"> <Arg>java.naming.factory.initial</Arg> <Arg><Property name="java.naming.factory.initial" default="org.eclipse.jetty.jndi.InitialContextFactory"/></Arg> diff --git a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-deployer-default.xml b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-deployer-default.xml new file mode 100644 index 0000000000..f05b31c8e1 --- /dev/null +++ b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-deployer-default.xml @@ -0,0 +1,40 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> + +<Configure id="Server" class="org.eclipse.jetty.server.Server"> + + <!-- =========================================================== --> + <!-- Configure the deployment manager --> + <!-- =========================================================== --> + <Call name="addBean"> + <Arg> + <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> + <Set name="contexts"> + <Ref id="Contexts" /> + </Set> + <Call name="setContextAttribute"> + <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg> + <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg> + </Call> + <!-- Providers of OSGi Apps --> + <Call name="addAppProvider"> + <Arg> + <New class="org.eclipse.jetty.osgi.boot.OSGiAppProvider"> + <!-- + <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set> + --> + <Set name="scanInterval">5</Set> + <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set> + <!-- comma separated list of bundle symbolic names that contain custom tag libraries (*.tld files) --> + <!-- if those bundles don't exist or can't be loaded no errors or warning will be issued! --> + <!-- This default value plugs in the tld files of the reference implementation of JSF --> + <Set name="tldBundles"><Property name="org.eclipse.jetty.osgi.tldbundles" default="javax.faces.jsf-impl" /></Set> + </New> + </Arg> + </Call> + + </New> + </Arg> + </Call> + +</Configure> diff --git a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-nested-default.xml b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-nested-default.xml index 67d84e9df8..c11cec1192 100644 --- a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-nested-default.xml +++ b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-nested-default.xml @@ -2,11 +2,11 @@ <!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> <!-- =============================================================== --> -<!-- Configure the Jetty Server Nested --> -<!-- inside another Servlet Container --> +<!-- Configure the Jetty Server Nested inside another --> +<!-- Servlet Container. --> <!-- --> <!-- Documentation of this file format can be found at: --> -<!-- http://docs.codehaus.org/display/JETTY/jetty.xml --> +<!-- http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax --> <!-- --> <!-- =============================================================== --> @@ -31,83 +31,4 @@ </Arg> </Call> - <!-- =========================================================== --> - <!-- Set handler Collection Structure --> - <!-- =========================================================== --> - <Set name="handler"> - <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection"> - <Set name="handlers"> - <Array type="org.eclipse.jetty.server.Handler"> - <Item> - <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> - </Item> - <Item> - <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> - </Item> - <Item> - <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/> - </Item> - </Array> - </Set> - </New> - </Set> - - <!-- =========================================================== --> - <!-- Configure the deployment manager --> - <!-- --> - <!-- Sets up 2 monitored dir app providers that are configured --> - <!-- to behave in a similaraly to the legacy ContextDeployer --> - <!-- and WebAppDeployer from previous versions of Jetty. --> - <!-- =========================================================== --> - <Call name="addBean"> - <Arg> - <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager"> - <Set name="contexts"> - <Ref id="Contexts" /> - </Set> - <Call name="setContextAttribute"> - <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg> - <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg> - </Call> - <!-- Providers of OSGi Apps --> - <Call name="addAppProvider"> - <Arg> - <New class="org.eclipse.jetty.osgi.boot.OSGiAppProvider"> - <!-- - <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set> - --> - <Set name="scanInterval">5</Set> - <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set> - <!-- comma separated list of bundle symbolic names that - contain custom tag libraries (*.tld files) - if those bundles don't exist or can't be loaded no errors or warning will be issued! - this default value is to plug the tld files of the reference implementation of JSF --> - <Set name="tldBundles"><Property name="org.eclipse.jetty.osgi.tldsbundles" - default="javax.faces.jsf-impl" /></Set> - </New> - </Arg> - </Call> - - </New> - </Arg> - </Call> - - <!-- =========================================================== --> - <!-- extra options --> - <!-- =========================================================== --> - <Set name="stopAtShutdown">true</Set> - <Set name="sendServerVersion">true</Set> - <Set name="sendDateHeader">true</Set> - <Set name="gracefulShutdown">1000</Set> - - <!-- jetty-jndi by default --> - <Call class="java.lang.System" name="setProperty"> - <Arg>java.naming.factory.initial</Arg> - <Arg><Property name="java.naming.factory.initial" default="org.eclipse.jetty.jndi.InitialContextFactory"/></Arg> - </Call> - <Call class="java.lang.System" name="setProperty"> - <Arg>java.naming.factory.url.pkgs</Arg> - <Arg><Property name="java.naming.factory.url.pkgs" default="org.eclipse.jetty.jndi"/></Arg> - </Call> - </Configure> diff --git a/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-selector-default.xml b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-selector-default.xml new file mode 100644 index 0000000000..46ccc85f52 --- /dev/null +++ b/jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-selector-default.xml @@ -0,0 +1,26 @@ +<?xml version="1.0"?> +<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd"> + +<Configure id="Server" class="org.eclipse.jetty.server.Server"> + + + <!-- =========================================================== --> + <!-- Add connector --> + <!-- =========================================================== --> + + <Call name="addConnector"> + <Arg> + <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> + <Set name="host"><Property name="jetty.host" /></Set> + <Set name="port"><Property name="jetty.port" default="8080"/></Set> + <Set name="maxIdleTime">300000</Set> + <Set name="Acceptors">2</Set> + <Set name="statsOn">false</Set> + <Set name="confidentialPort">8443</Set> + <Set name="lowResourcesConnections">20000</Set> + <Set name="lowResourcesMaxIdleTime">5000</Set> + </New> + </Arg> + </Call> + +</Configure> diff --git a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java index 5d7dd06700..2503c9de8d 100644 --- a/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java +++ b/jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java @@ -77,6 +77,16 @@ public class DefaultJettyAtJettyHomeHelper * configuration. */ public static final String SYS_PROP_JETTY_PORT_SSL = "jetty.port.ssl"; + + /** + * Set of config files to apply to a jetty Server instance if none are supplied by SYS_PROP_JETTY_ETC_FILES + */ + public static final String DEFAULT_JETTY_ETC_FILES = "jetty-osgi-default.xml,jetty-osgi-selector-default.xml,jetty-osgi-deployer-default.xml"; + + /** + * Default location within bundle of a jetty home dir. + */ + public static final String DEFAULT_JETTYHOME = "/jettyhome"; /** * Called by the JettyBootStrapActivator. If the system property jetty.home @@ -216,8 +226,9 @@ public class DefaultJettyAtJettyHomeHelper */ private static String getJettyConfigurationURLs(Bundle configurationBundle) { - String jettyetc = System.getProperty(SYS_PROP_JETTY_ETC_FILES, "etc/jetty.xml"); - StringTokenizer tokenizer = new StringTokenizer(jettyetc, ";,", false); + String files = System.getProperty(SYS_PROP_JETTY_ETC_FILES, DEFAULT_JETTY_ETC_FILES); + + StringTokenizer tokenizer = new StringTokenizer(files, ";,", false); StringBuilder res = new StringBuilder(); while (tokenizer.hasMoreTokens()) @@ -225,22 +236,25 @@ public class DefaultJettyAtJettyHomeHelper String etcFile = tokenizer.nextToken().trim(); if (etcFile.startsWith("/") || etcFile.indexOf(":") != -1) { + //file path is absolute appendToCommaSeparatedList(res, etcFile); } else { + //relative file path Enumeration<URL> enUrls = BundleFileLocatorHelper.DEFAULT.findEntries(configurationBundle, etcFile); // default for org.eclipse.osgi.boot where we look inside // jettyhome for the default embedded configuration. // default inside jettyhome. this way fragments to the bundle // can define their own configuration. - if ((enUrls == null || !enUrls.hasMoreElements()) && etcFile.endsWith("etc/jetty.xml")) + if ((enUrls == null || !enUrls.hasMoreElements()) && etcFile.endsWith("-default.xml")) { - enUrls = BundleFileLocatorHelper.DEFAULT.findEntries(configurationBundle, "/jettyhome/etc/jetty-osgi-default.xml"); - LOG.debug("Configuring jetty with the default embedded configuration:" + "bundle: " + String tmp = DEFAULT_JETTYHOME+"/etc/"+etcFile; + enUrls = BundleFileLocatorHelper.DEFAULT.findEntries(configurationBundle, tmp); + LOG.info("Configuring jetty with the default embedded configuration:" + "bundle: " + configurationBundle.getSymbolicName() - + " config: /jettyhome/etc/jetty-osgi-default.xml"); + + " config: "+tmp); } if (enUrls == null || !enUrls.hasMoreElements()) { diff --git a/jetty-osgi/jetty-osgi-servletbridge/src/main/java/org/eclipse/jetty/osgi/servletbridge/FrameworkLauncherExtended.java b/jetty-osgi/jetty-osgi-servletbridge/src/main/java/org/eclipse/jetty/osgi/servletbridge/FrameworkLauncherExtended.java index 8dd8c8ef4d..e880b3f0f9 100644 --- a/jetty-osgi/jetty-osgi-servletbridge/src/main/java/org/eclipse/jetty/osgi/servletbridge/FrameworkLauncherExtended.java +++ b/jetty-osgi/jetty-osgi-servletbridge/src/main/java/org/eclipse/jetty/osgi/servletbridge/FrameworkLauncherExtended.java @@ -291,11 +291,13 @@ public class FrameworkLauncherExtended extends FrameworkLauncher String etcJettyXml = System.getProperty("jetty.etc.config.urls"); if (etcJettyXml == null) { + etcJettyXml = "etc/jetty.xml"; if (new File(jettyHome, "etc/jetty-osgi-nested.xml").exists()) { - System.setProperty("jetty.etc.config.urls", "etc/jetty-osgi-nested.xml"); - props.setProperty("jetty.etc.config.urls", "etc/jetty-osgi-nested.xml"); + etcJettyXml += ",etc/jetty-osgi-nested.xml"; } + System.setProperty("jetty.etc.config.urls", etcJettyXml); + props.setProperty("jetty.etc.config.urls", etcJettyXml); } String startLevel = System.getProperty("osgi.startLevel"); if (startLevel == null) |