X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FActivator.java;h=24c2f6bccc7d1c7e9d8e004f94d56623e92513dc;hb=255654a72d48b875d71cea637532784953d80499;hp=99d5dbb3e73294bb14c824f75a92dc2c76ab56f7;hpb=77a5498dd5d10d2442127022efd6501a7dbddbae;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java index 99d5dbb3e..24c2f6bcc 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java @@ -8,6 +8,10 @@ import java.util.Dictionary; import java.util.List; import java.util.Locale; +import javax.security.auth.login.Configuration; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsException; import org.argeo.node.ArgeoLogger; import org.argeo.node.NodeConstants; @@ -26,6 +30,8 @@ import org.osgi.service.log.LogReaderService; * access to kernel information for the rest of the bundle (and only it) */ public class Activator implements BundleActivator { + private final static Log log = LogFactory.getLog(Activator.class); + private static Activator instance; private BundleContext bc; @@ -44,21 +50,24 @@ public class Activator implements BundleActivator { this.logReaderService = getService(LogReaderService.class); // this.configurationAdmin = getService(ConfigurationAdmin.class); - initSecurity();// must be first - initArgeoLogger(); try { + initSecurity();// must be first + initArgeoLogger(); initNode(); } catch (Exception e) { - e.printStackTrace(); - throw new CmsException("Cannot initialize node", e); + log.error("## FATAL: CMS activator failed", e); + // throw new CmsException("Cannot initialize node", e); } } private void initSecurity() { - URL url = getClass().getClassLoader().getResource( - KernelConstants.JAAS_CONFIG); - System.setProperty("java.security.auth.login.config", - url.toExternalForm()); + if (System.getProperty(KernelConstants.JAAS_CONFIG_PROP) == null) { + URL url = getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG); + // URL url = + // getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG_IPA); + System.setProperty(KernelConstants.JAAS_CONFIG_PROP, url.toExternalForm()); + } + Configuration.getConfiguration(); } private void initArgeoLogger() { @@ -77,8 +86,7 @@ public class Activator implements BundleActivator { Files.write(stateUuidPath, stateUuid.getBytes()); } nodeState = new CmsState(stateUuid); - Dictionary regProps = LangUtils.init( - Constants.SERVICE_PID, NodeConstants.NODE_STATE_PID); + Dictionary regProps = LangUtils.dico(Constants.SERVICE_PID, NodeConstants.NODE_STATE_PID); regProps.put(NodeConstants.CN, stateUuid); bc.registerService(NodeState.class, nodeState, regProps);