X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FDeployConfig.java;h=0a7d26584d96b14538c2f69309a51f30cc80e498;hb=3c7803ca05e2b0276d635e64046d924d3f1884c9;hp=4a75f519d0782e2077ea3ae968ff1413ef2cf7dd;hpb=7954fac52a6e7db11d9240cfbea85017c5612f19;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/DeployConfig.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/DeployConfig.java index 4a75f519d..0a7d26584 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/DeployConfig.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/DeployConfig.java @@ -19,11 +19,11 @@ import javax.naming.ldap.Rdn; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.argeo.api.NodeConstants; import org.argeo.cms.CmsException; import org.argeo.naming.AttributesDictionary; import org.argeo.naming.LdifParser; import org.argeo.naming.LdifWriter; -import org.argeo.node.NodeConstants; import org.argeo.osgi.useradmin.UserAdminConf; import org.eclipse.equinox.http.jetty.JettyConfigurator; import org.osgi.framework.BundleContext; @@ -85,7 +85,7 @@ class DeployConfig implements ConfigurationListener { // additional repositories dataModels: for (DataModels.DataModel dataModel : dataModels.getNonAbstractDataModels()) { - if (NodeConstants.NODE.equals(dataModel.getName())) + if (NodeConstants.NODE_REPOSITORY.equals(dataModel.getName())) continue dataModels; Dictionary config = InitUtils.getRepositoryConfig(dataModel.getName(), getProps(NodeConstants.NODE_REPOS_FACTORY_PID, dataModel.getName())); @@ -144,15 +144,25 @@ class DeployConfig implements ConfigurationListener { // activator of the Equinox Jetty bundle. Dictionary webServerConfig = InitUtils .getHttpServerConfig(getProps(KernelConstants.JETTY_FACTORY_PID, NodeConstants.DEFAULT)); - if (!webServerConfig.isEmpty()) { - webServerConfig.put("customizer.class", KernelConstants.CMS_JETTY_CUSTOMIZER_CLASS); - } +// if (!webServerConfig.isEmpty()) { +// webServerConfig.put("customizer.class", KernelConstants.CMS_JETTY_CUSTOMIZER_CLASS); +// +// // TODO centralise with Jetty extender +// Object webSocketEnabled = webServerConfig.get(InternalHttpConstants.WEBSOCKET_ENABLED); +// if (webSocketEnabled != null && webSocketEnabled.toString().equals("true")) { +// bc.registerService(ServerEndpointConfig.Configurator.class, new CmsWebSocketConfigurator(), null); +// webServerConfig.put(InternalHttpConstants.WEBSOCKET_ENABLED, "true"); +// } +// } int tryCount = 60; try { tryGettyJetty: while (tryCount > 0) { try { JettyConfigurator.startServer(KernelConstants.DEFAULT_JETTY_SERVER, webServerConfig); + // Explicitly starts Jetty OSGi HTTP bundle, so that it gets triggered if OSGi + // configuration is not cleaned + FrameworkUtil.getBundle(JettyConfigurator.class).start(); break tryGettyJetty; } catch (IllegalStateException e) { // Jetty may not be ready @@ -161,6 +171,7 @@ class DeployConfig implements ConfigurationListener { } catch (Exception e1) { // silent } + tryCount--; } } } catch (Exception e) { @@ -175,6 +186,8 @@ class DeployConfig implements ConfigurationListener { deployConfigs = new LdifParser().read(in); } if (isClean) { + if(log.isDebugEnabled()) + log.debug("Clean state, loading from framework properties..."); setFromFrameworkProperties(isFirstInit); for (LdapName dn : deployConfigs.keySet()) { Rdn lastRdn = dn.getRdn(dn.size() - 1);