Fix static CMS initialisation.
authorMathieu Baudier <mbaudier@argeo.org>
Sun, 3 Jul 2022 05:45:18 +0000 (07:45 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Sun, 3 Jul 2022 05:45:18 +0000 (07:45 +0200)
org.argeo.cms/META-INF/native-image/reflect-config.json
org.argeo.cms/META-INF/native-image/resource-config.json
org.argeo.cms/src/org/argeo/cms/runtime/StaticCms.java

index 5278b9ab2f5fef8e69e51c1d0cd75413315b9521..6d7ba4b90a34d887e4a99b5c53aebb4537e406d3 100644 (file)
   "name":"sun.security.provider.DRBG",
   "methods":[{"name":"<init>","parameterTypes":["java.security.SecureRandomParameters"] }]
 },
+{
+  "name":"sun.security.provider.NativePRNG",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   "name":"sun.security.provider.SHA",
   "methods":[{"name":"<init>","parameterTypes":[] }]
index 00d15595a961454693bf729d01b66f6ba7a2844f..347ebcea71e02bbef04881c8554c7e41b93b5426 100644 (file)
@@ -1,6 +1,9 @@
 {
   "resources":{
   "includes":[
+    {
+      "pattern":"\\QMETA-INF/services/java.lang.System$LoggerFinder\\E"
+    }, 
     {
       "pattern":"\\QMETA-INF/services/javax.xml.validation.SchemaFactory\\E"
     }, 
index c88ebb8bdb95eb308e42aba6edbc56c7ef56e836..6744700d4cccc390d9c0a18a9e13a1d2500296b3 100644 (file)
@@ -2,8 +2,6 @@ package org.argeo.cms.runtime;
 
 import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.util.Dictionary;
-import java.util.HashMap;
 import java.util.concurrent.CompletableFuture;
 
 import org.argeo.api.acr.ContentRepository;
@@ -15,13 +13,11 @@ import org.argeo.api.uuid.UuidFactory;
 import org.argeo.cms.CmsUserManager;
 import org.argeo.cms.acr.CmsUuidFactory;
 import org.argeo.cms.internal.auth.CmsUserManagerImpl;
-import org.argeo.cms.internal.osgi.DeployConfig;
 import org.argeo.cms.internal.runtime.CmsContextImpl;
 import org.argeo.cms.internal.runtime.CmsDeploymentImpl;
 import org.argeo.cms.internal.runtime.CmsStateImpl;
 import org.argeo.cms.internal.runtime.CmsUserAdmin;
 import org.argeo.cms.internal.runtime.DeployedContentRepository;
-import org.argeo.osgi.useradmin.UserDirectory;
 import org.argeo.util.register.Component;
 import org.argeo.util.register.SimpleRegister;
 import org.argeo.util.transaction.SimpleTransactionManager;
@@ -62,16 +58,6 @@ public class StaticCms {
 //                             .addDeactivation(deployConfig::stop) //
 //                             .build(register);
 
-               // CMS Deployment
-               CmsDeploymentImpl cmsDeployment = new CmsDeploymentImpl();
-               Component<CmsDeploymentImpl> cmsDeploymentC = new Component.Builder<>(cmsDeployment) //
-                               .addType(CmsDeployment.class) //
-                               .addActivation(cmsDeployment::start) //
-                               .addDeactivation(cmsDeployment::stop) //
-                               .addDependency(cmsStateC.getType(CmsState.class), cmsDeployment::setCmsState, null) //
-//                             .addDependency(deployConfigC.getType(DeployConfig.class), cmsDeployment::setDeployConfig, null) //
-                               .build(register);
-
                // Transaction manager
                SimpleTransactionManager transactionManager = new SimpleTransactionManager();
                Component<SimpleTransactionManager> transactionManagerC = new Component.Builder<>(transactionManager) //
@@ -83,6 +69,9 @@ public class StaticCms {
                CmsUserAdmin userAdmin = new CmsUserAdmin();
                Component<CmsUserAdmin> userAdminC = new Component.Builder<>(userAdmin) //
                                .addType(UserAdmin.class) //
+                               .addActivation(userAdmin::start) //
+                               .addDeactivation(userAdmin::stop) //
+                               .addDependency(cmsStateC.getType(CmsState.class), userAdmin::setCmsState, null) //
                                .addDependency(transactionManagerC.getType(WorkControl.class), userAdmin::setTransactionManager, null) //
                                .addDependency(transactionManagerC.getType(WorkTransaction.class), userAdmin::setUserTransaction, null) //
 //                             .addDependency(deployConfigC.getType(DeployConfig.class), (d) -> {
@@ -99,6 +88,8 @@ public class StaticCms {
 //             }
                Component<CmsUserManagerImpl> userManagerC = new Component.Builder<>(userManager) //
                                .addType(CmsUserManager.class) //
+                               .addActivation(userManager::start) //
+                               .addDeactivation(userManager::stop) //
                                .addDependency(userAdminC.getType(UserAdmin.class), userManager::setUserAdmin, null) //
                                .addDependency(transactionManagerC.getType(WorkTransaction.class), userManager::setUserTransaction,
                                                null) //
@@ -116,6 +107,16 @@ public class StaticCms {
                                .addDependency(userManagerC.getType(CmsUserManager.class), contentRepository::setUserManager, null) //
                                .build(register);
 
+               // CMS Deployment
+               CmsDeploymentImpl cmsDeployment = new CmsDeploymentImpl();
+               Component<CmsDeploymentImpl> cmsDeploymentC = new Component.Builder<>(cmsDeployment) //
+                               .addType(CmsDeployment.class) //
+                               .addActivation(cmsDeployment::start) //
+                               .addDeactivation(cmsDeployment::stop) //
+                               .addDependency(cmsStateC.getType(CmsState.class), cmsDeployment::setCmsState, null) //
+//                             .addDependency(deployConfigC.getType(DeployConfig.class), cmsDeployment::setDeployConfig, null) //
+                               .build(register);
+
                // CMS Context
                CmsContextImpl cmsContext = new CmsContextImpl();
                Component<CmsContextImpl> cmsContextC = new Component.Builder<>(cmsContext) //