From e3912140cfce70b1275f435a7be22ef0fef3c165 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 26 Sep 2018 14:00:49 +0200 Subject: [PATCH] Adapt to changes in Argeo TP --- dep/org.argeo.dep.cms.e4.rap/pom.xml | 2 +- dep/org.argeo.dep.cms.node/pom.xml | 4 - dep/org.argeo.dep.cms.platform/pom.xml | 89 +------------------ .../argeo/cms/e4/rap/AbstractRapE4App.java | 2 +- .../cms/internal/kernel/CmsDeployment.java | 5 +- .../argeo/cms/internal/kernel/CmsState.java | 7 +- .../cms/internal/kernel/GogoShellKiller.java | 2 +- .../cms/internal/kernel/KernelThread.java | 17 ++-- .../src/org/argeo/node/NodeConstants.java | 2 + pom.xml | 2 +- 10 files changed, 25 insertions(+), 107 deletions(-) diff --git a/dep/org.argeo.dep.cms.e4.rap/pom.xml b/dep/org.argeo.dep.cms.e4.rap/pom.xml index ca2df6d48..0d5b9d0de 100644 --- a/dep/org.argeo.dep.cms.e4.rap/pom.xml +++ b/dep/org.argeo.dep.cms.e4.rap/pom.xml @@ -108,7 +108,7 @@ org.argeo.tp.rap.e4 - com.ibm.icu.base + com.ibm.icu org.argeo.tp.rap.e4 diff --git a/dep/org.argeo.dep.cms.node/pom.xml b/dep/org.argeo.dep.cms.node/pom.xml index 3385dc19b..556b48196 100644 --- a/dep/org.argeo.dep.cms.node/pom.xml +++ b/dep/org.argeo.dep.cms.node/pom.xml @@ -65,10 +65,6 @@ - - org.argeo.tp.javax - javax.transaction - org.argeo.tp.misc diff --git a/dep/org.argeo.dep.cms.platform/pom.xml b/dep/org.argeo.dep.cms.platform/pom.xml index 739da13df..61db9f435 100644 --- a/dep/org.argeo.dep.cms.platform/pom.xml +++ b/dep/org.argeo.dep.cms.platform/pom.xml @@ -122,7 +122,7 @@ org.argeo.tp.rap.platform - com.ibm.icu.base + com.ibm.icu org.argeo.tp.rap.platform @@ -170,93 +170,6 @@ org.argeo.tp.rap.platform org.eclipse.rap.ui.workbench - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java index 3c37c1cb1..66c796b83 100644 --- a/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java +++ b/org.argeo.cms.e4.rap/src/org/argeo/cms/e4/rap/AbstractRapE4App.java @@ -28,7 +28,7 @@ public abstract class AbstractRapE4App implements ApplicationConfiguration { Map properties = new HashMap(); properties.put(WebClient.PAGE_TITLE, pageTitle); - E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, false, true, true); + E4ApplicationConfig config = new E4ApplicationConfig(e4Xmi, lifeCycleUri, null, null, false, true, true); addEntryPoint(application, config, properties); } diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java index 67abe90fa..3d8a389ef 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsDeployment.java @@ -192,8 +192,9 @@ public class CmsDeployment implements NodeDeployment { public void shutdown() { if (nodeHttp != null) nodeHttp.destroy(); - if (deployConfig != null) - deployConfig.save(); + if (deployConfig != null) { + new Thread(() -> deployConfig.save(), "Save Argeo Deploy Config").start(); + } } private void checkReadiness() { diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java index b72734f19..0990181f2 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/CmsState.java @@ -88,7 +88,8 @@ public class CmsState implements NodeState { private void initServices() { // JTA - String tmType = KernelUtils.getFrameworkProp(NodeConstants.TRANSACTION_MANAGER, NodeConstants.TRANSACTION_MANAGER_SIMPLE); + String tmType = KernelUtils.getFrameworkProp(NodeConstants.TRANSACTION_MANAGER, + NodeConstants.TRANSACTION_MANAGER_SIMPLE); if (NodeConstants.TRANSACTION_MANAGER_SIMPLE.equals(tmType)) { initSimpleTransactionManager(); } else if (NodeConstants.TRANSACTION_MANAGER_BITRONIX.equals(tmType)) { @@ -164,7 +165,9 @@ public class CmsState implements NodeState { if (kernelThread != null) kernelThread.destroyAndJoin(); - applyStopHooks(); + // In a different state in order to avois interruptions + new Thread(() -> applyStopHooks(), "Apply Argeo Stop Hooks").start(); + // applyStopHooks(); long duration = ((System.currentTimeMillis() - availableSince) / 1000) / 60; log.info("## ARGEO CMS STOPPED after " + (duration / 60) + "h " + (duration % 60) + "min uptime ##"); diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/GogoShellKiller.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/GogoShellKiller.java index 940fc8d9f..39b11a531 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/GogoShellKiller.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/GogoShellKiller.java @@ -55,7 +55,7 @@ class GogoShellKiller extends Thread { Thread[] threads = new Thread[rootThreadGroup.activeCount()]; rootThreadGroup.enumerate(threads, true); for (Thread thread : threads) { - if (thread.getName().equals("Gogo shell")) + if (thread.getName().equals("pipe-gosh --login --noshutdown")) return thread; } return null; diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java index 5ebf4055f..b2b51eb8a 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java @@ -1,5 +1,6 @@ package org.argeo.cms.internal.kernel; +import java.awt.image.Kernel; import java.io.File; import java.lang.management.ManagementFactory; @@ -7,7 +8,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.jackrabbit.api.stats.RepositoryStatistics; import org.apache.jackrabbit.stats.RepositoryStatisticsImpl; -import org.argeo.cms.CmsException; import org.argeo.cms.internal.auth.CmsSessionImpl; /** @@ -15,6 +15,8 @@ import org.argeo.cms.internal.auth.CmsSessionImpl; * monitor/control other processes. */ class KernelThread extends Thread { + private final static Log log = LogFactory.getLog(KernelThread.class); + private RepositoryStatisticsImpl repoStats; /** The smallest period of operation, in ms */ @@ -110,11 +112,12 @@ class KernelThread extends Thread { synchronized void destroyAndJoin() { running = false; notifyAll(); - interrupt(); - try { - join(PERIOD * 2); - } catch (InterruptedException e) { - throw new CmsException("Kernel thread destruction was interrupted"); - } +// interrupt(); +// try { +// join(PERIOD * 2); +// } catch (InterruptedException e) { +// // throw new CmsException("Kernel thread destruction was interrupted"); +// log.error("Kernel thread destruction was interrupted", e); +// } } } diff --git a/org.argeo.node.api/src/org/argeo/node/NodeConstants.java b/org.argeo.node.api/src/org/argeo/node/NodeConstants.java index 36be492e9..cb87f30b4 100644 --- a/org.argeo.node.api/src/org/argeo/node/NodeConstants.java +++ b/org.argeo.node.api/src/org/argeo/node/NodeConstants.java @@ -39,6 +39,7 @@ public interface NodeConstants { * RESERVED ROLES */ String ROLES_BASEDN = "ou=roles,ou=node"; + String TOKENS_BASEDN = "ou=tokens,ou=node"; String ROLE_ADMIN = "cn=admin," + ROLES_BASEDN; String ROLE_USER_ADMIN = "cn=userAdmin," + ROLES_BASEDN; String ROLE_DATA_ADMIN = "cn=dataAdmin," + ROLES_BASEDN; @@ -85,6 +86,7 @@ public interface NodeConstants { String I18N_LOCALES = "argeo.i18n.locales"; // Node Security String ROLES_URI = "argeo.node.roles.uri"; + String TOKENS_URI = "argeo.node.tokens.uri"; /** URI to an LDIF file or LDAP server used as initialization or backend */ String USERADMIN_URIS = "argeo.node.useradmin.uris"; // Transaction manager diff --git a/pom.xml b/pom.xml index 20a3075cb..a04910154 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ 2.1.76-SNAPSHOT - 2.1.20 + 2.1.21-SNAPSHOT 7 /srv/rpmfactory/argeo-osgi-2/el7 -- 2.30.2