From 1bf38659afa8ace4a22e6a31d534bce3f5c9d737 Mon Sep 17 00:00:00 2001 From: Mathieu Date: Sun, 20 Nov 2022 12:07:53 +0100 Subject: [PATCH] Adapt CMS OSGi deployment to changes in the platform --- .../src/org/argeo/slc/WellKnownConstants.java | 2 +- .../cms/deploy/osgi/CmsOsgiDeployment.java | 33 +++++++++++++------ .../org/argeo/slc/cms/test/MinimalJvm.java | 21 ++++++++++++ 3 files changed, 45 insertions(+), 11 deletions(-) create mode 100644 org.argeo.slc.cms/src/org/argeo/slc/cms/test/MinimalJvm.java diff --git a/org.argeo.slc.api/src/org/argeo/slc/WellKnownConstants.java b/org.argeo.slc.api/src/org/argeo/slc/WellKnownConstants.java index c71f24374..f0ce61445 100644 --- a/org.argeo.slc.api/src/org/argeo/slc/WellKnownConstants.java +++ b/org.argeo.slc.api/src/org/argeo/slc/WellKnownConstants.java @@ -13,5 +13,5 @@ public interface WellKnownConstants { final static String OSGI_INSTANCE_AREA = "osgi.instance.area"; final static String OSGI_CONFIGURATION_AREA = "osgi.configuration.area"; - final static String OSGI_HTTP_PORT = "org.osgi.service.http.port"; +// final static String OSGI_HTTP_PORT = "org.osgi.service.http.port"; } diff --git a/org.argeo.slc.cms/src/org/argeo/slc/cms/deploy/osgi/CmsOsgiDeployment.java b/org.argeo.slc.cms/src/org/argeo/slc/cms/deploy/osgi/CmsOsgiDeployment.java index d49f526dd..e784e544f 100644 --- a/org.argeo.slc.cms/src/org/argeo/slc/cms/deploy/osgi/CmsOsgiDeployment.java +++ b/org.argeo.slc.cms/src/org/argeo/slc/cms/deploy/osgi/CmsOsgiDeployment.java @@ -12,6 +12,7 @@ import java.util.Map; import java.util.StringJoiner; import java.util.TreeMap; +import org.argeo.cms.CmsDeployProperty; import org.argeo.init.a2.A2Source; import org.argeo.init.a2.FsA2Source; import org.argeo.init.osgi.OsgiBoot; @@ -56,7 +57,7 @@ public class CmsOsgiDeployment implements Deployment { config.put(WellKnownConstants.OSGI_INSTANCE_AREA, targetData.getInstanceData().toRealPath().toUri().toString()); if (targetData.getHttpPort() != null) { - config.put(WellKnownConstants.OSGI_HTTP_PORT, targetData.getHttpPort().toString()); + config.put(CmsDeployProperty.HTTP_PORT.getProperty(), targetData.getHttpPort().toString()); } Path configurationArea = Files.createTempDirectory("slc-cms-test"); @@ -67,7 +68,7 @@ public class CmsOsgiDeployment implements Deployment { List modules = deploymentData.getModulesToActivate(startLevel); if (modules.size() != 0) { String startProperty = String.join(",", modules); - config.put(OsgiBoot.PROP_ARGEO_OSGI_START + "." + startLevel + ".node", startProperty); + config.put(OsgiBoot.PROP_ARGEO_OSGI_START + "." + startLevel, startProperty); } } @@ -77,7 +78,7 @@ public class CmsOsgiDeployment implements Deployment { config.put("eclipse.ignoreApp", "true"); config.put("osgi.noShutdown", "true"); -// config.put("osgi.console", "true"); + config.put("osgi.console", "2323"); // initialise for (String key : config.keySet()) { @@ -128,7 +129,10 @@ public class CmsOsgiDeployment implements Deployment { // distribution Path a2Base = userHome.resolve("dev/git/unstable/output/a2"); A2Distribution distribution = new A2Distribution(); - distribution.getA2Sources().add(new FsA2Source(a2Base, new HashMap<>(), true)); + Map xOr = new HashMap<>(); + xOr.put("osgi", "equinox"); + xOr.put("swt", "rap"); + distribution.getA2Sources().add(new FsA2Source(a2Base, xOr, true)); // target data Path instanceData = userHome.resolve("dev/git/unstable/argeo-slc/sdk/exec/cms-deployment/data"); @@ -139,17 +143,26 @@ public class CmsOsgiDeployment implements Deployment { // deployment data SimpleCmsDeploymentData deploymentData = new SimpleCmsDeploymentData(); deploymentData.getModulesToActivate(2).add("org.eclipse.equinox.http.servlet"); - deploymentData.getModulesToActivate(2).add("org.eclipse.equinox.cm"); deploymentData.getModulesToActivate(2).add("org.apache.felix.scr"); deploymentData.getModulesToActivate(2).add("org.eclipse.rap.rwt.osgi"); + deploymentData.getModulesToActivate(2).add("org.eclipse.equinox.console"); deploymentData.getModulesToActivate(3).add("org.argeo.cms"); - - deploymentData.getModulesToActivate(4).add("org.argeo.cms.servlet"); - deploymentData.getModulesToActivate(4).add("org.argeo.cms.ui.rap"); + deploymentData.getModulesToActivate(3).add("org.argeo.cms.swt.rap"); + deploymentData.getModulesToActivate(3).add("org.argeo.cms.ee"); + deploymentData.getModulesToActivate(3).add("org.argeo.cms.lib.sshd"); + deploymentData.getModulesToActivate(3).add("org.argeo.cms.lib.equinox"); + deploymentData.getModulesToActivate(3).add("org.argeo.cms.lib.jetty"); + +// deploymentData.getModulesToActivate(4).add("org.argeo.cms.servlet"); +// deploymentData.getModulesToActivate(4).add("org.argeo.cms.ui.rap"); deploymentData.getModulesToActivate(4).add("org.argeo.cms.jcr"); - - deploymentData.getModulesToActivate(5).add("org.argeo.cms.e4.rap"); +// + deploymentData.getModulesToActivate(5).add("org.argeo.app.profile.acr.fs"); + deploymentData.getModulesToActivate(5).add("org.argeo.app.core"); + deploymentData.getModulesToActivate(5).add("org.argeo.app.ui"); + deploymentData.getModulesToActivate(5).add("org.argeo.app.profile.acr.fs"); + deploymentData.getModulesToActivate(5).add("org.argeo.app.theme.default"); CmsOsgiDeployment deployment = new CmsOsgiDeployment(); deployment.setDistribution(distribution); diff --git a/org.argeo.slc.cms/src/org/argeo/slc/cms/test/MinimalJvm.java b/org.argeo.slc.cms/src/org/argeo/slc/cms/test/MinimalJvm.java new file mode 100644 index 000000000..87eefd954 --- /dev/null +++ b/org.argeo.slc.cms/src/org/argeo/slc/cms/test/MinimalJvm.java @@ -0,0 +1,21 @@ +package org.argeo.slc.cms.test; + +/** + * A program doing nothing and loading no classes, to be used as a baseline for + * memory usage of the JVM. + */ +public class MinimalJvm { + + synchronized void sleep() { + try { + wait(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + public static void main(String[] args) { + new MinimalJvm().sleep(); + } + +} -- 2.30.2