X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=eclipse%2Forg.argeo.cms.servlet%2Fsrc%2Forg%2Fargeo%2Fcms%2Fservlet%2Finternal%2Fjetty%2FJettyConfig.java;h=0e2a3e5cab4e8594d9df364ffbe8d911f3799165;hb=8302ed5e76967f1d618b59ebe4ae11223e5037c3;hp=64e33d3ecd5147a99175922e699a94dc97b37c36;hpb=dca2b13e0e3ca3e7a9469e089b980c48c880ad1a;p=lgpl%2Fargeo-commons.git diff --git a/eclipse/org.argeo.cms.servlet/src/org/argeo/cms/servlet/internal/jetty/JettyConfig.java b/eclipse/org.argeo.cms.servlet/src/org/argeo/cms/servlet/internal/jetty/JettyConfig.java index 64e33d3ec..0e2a3e5ca 100644 --- a/eclipse/org.argeo.cms.servlet/src/org/argeo/cms/servlet/internal/jetty/JettyConfig.java +++ b/eclipse/org.argeo.cms.servlet/src/org/argeo/cms/servlet/internal/jetty/JettyConfig.java @@ -31,7 +31,8 @@ public class JettyConfig { private final BundleContext bc = FrameworkUtil.getBundle(JettyConfig.class).getBundleContext(); - //private static final String JETTY_PROPERTY_PREFIX = "org.eclipse.equinox.http.jetty."; + // private static final String JETTY_PROPERTY_PREFIX = + // "org.eclipse.equinox.http.jetty."; public void start() { // We need to start asynchronously so that Jetty bundle get started by lazy init @@ -104,9 +105,10 @@ public class JettyConfig { } } - int tryCount = 30; + long begin = System.currentTimeMillis(); + int tryCount = 60; try { - tryGettyJetty: while (tryCount > 0) { + while (tryCount > 0) { try { // FIXME deal with multiple ids JettyConfigurator.startServer(CmsConstants.DEFAULT, new Hashtable<>(config)); @@ -118,7 +120,7 @@ public class JettyConfig { // Explicitly starts Jetty OSGi HTTP bundle, so that it gets triggered if OSGi // configuration is not cleaned FrameworkUtil.getBundle(JettyConfigurator.class).start(); - break tryGettyJetty; + return; } catch (IllegalStateException e) { // e.printStackTrace(); // Jetty may not be ready @@ -129,6 +131,8 @@ public class JettyConfig { } tryCount--; } + long duration = System.currentTimeMillis() - begin; + log.error("Gave up with starting Jetty server after " + (duration / 1000) + " s"); } } catch (Exception e) { log.error("Cannot start default Jetty server with config " + properties, e); @@ -169,10 +173,18 @@ public class JettyConfig { if (httpHost != null) props.put(JettyHttpConstants.HTTPS_HOST, httpHost); - props.put(JettyHttpConstants.SSL_KEYSTORETYPE, getFrameworkProp(CmsDeployProperty.SSL_KEYSTORETYPE)); + // keystore + props.put(JettyHttpConstants.SSL_KEYSTORETYPE, getFrameworkProp(CmsDeployProperty.SSL_KEYSTORETYPE)); props.put(JettyHttpConstants.SSL_KEYSTORE, getFrameworkProp(CmsDeployProperty.SSL_KEYSTORE)); props.put(JettyHttpConstants.SSL_PASSWORD, getFrameworkProp(CmsDeployProperty.SSL_PASSWORD)); + // truststore + props.put(JettyHttpConstants.SSL_TRUSTSTORETYPE, + getFrameworkProp(CmsDeployProperty.SSL_TRUSTSTORETYPE)); + props.put(JettyHttpConstants.SSL_TRUSTSTORE, getFrameworkProp(CmsDeployProperty.SSL_TRUSTSTORE)); + props.put(JettyHttpConstants.SSL_TRUSTSTOREPASSWORD, + getFrameworkProp(CmsDeployProperty.SSL_TRUSTSTOREPASSWORD)); + // client certificate authentication String wantClientAuth = getFrameworkProp(CmsDeployProperty.SSL_WANTCLIENTAUTH); if (wantClientAuth != null)