Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Bartel2012-05-09 16:28:28 +0000
committerJan Bartel2012-05-09 16:28:28 +0000
commit9aa5f49df5cc7036cf9cfe6f412273ffbc84b1dd (patch)
tree530c8bfe3d50766c35376fd3802f87c7a9dacafd
parent3618be23cd8e7093ace213b76138b260ad6852ed (diff)
downloadorg.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
-rw-r--r--jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-default.xml89
-rw-r--r--jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-deployer-default.xml40
-rw-r--r--jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-nested-default.xml85
-rw-r--r--jetty-osgi/jetty-osgi-boot/jettyhome/etc/jetty-osgi-selector-default.xml26
-rw-r--r--jetty-osgi/jetty-osgi-boot/src/main/java/org/eclipse/jetty/osgi/boot/internal/serverfactory/DefaultJettyAtJettyHomeHelper.java26
-rw-r--r--jetty-osgi/jetty-osgi-servletbridge/src/main/java/org/eclipse/jetty/osgi/servletbridge/FrameworkLauncherExtended.java6
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)

Back to the top