]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/kernel/Kernel.java
Add robots.txt allowing all agents
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / Kernel.java
index 1f562b817cfeff0f1bcafeb3bfb222d96c537750..3960be687ff91a0ec56408b30d8a167d01b134a9 100644 (file)
@@ -29,6 +29,8 @@ import javax.jcr.RepositoryFactory;
 import javax.jcr.Session;
 import javax.jcr.SimpleCredentials;
 import javax.security.auth.Subject;
+import javax.security.auth.login.LoginContext;
+import javax.security.auth.login.LoginException;
 import javax.transaction.TransactionManager;
 import javax.transaction.TransactionSynchronizationRegistry;
 import javax.transaction.UserTransaction;
@@ -160,6 +162,13 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener {
                        throw new ArgeoException("Cannot initialize", e);
                } finally {
                        Thread.currentThread().setContextClassLoader(currentContextCl);
+                       // FIXME better manage lifecycle.
+                       try {
+                               new LoginContext(LOGIN_CONTEXT_KERNEL,
+                                               nodeSecurity.getKernelSubject()).logout();
+                       } catch (LoginException e) {
+                               e.printStackTrace();
+                       }
                }
 
                long jvmUptime = ManagementFactory.getRuntimeMXBean().getUptime();
@@ -468,8 +477,8 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener {
                // TODO find constants
                Object httpPort = sr.getProperty("http.port");
                Object httpsPort = sr.getProperty("https.port");
-               dataHttp = new DataHttp(httpService, repository);
-               nodeHttp = new NodeHttp(httpService);
+               dataHttp = new DataHttp(httpService);
+               nodeHttp = new NodeHttp(httpService, repository);
                if (log.isDebugEnabled())
                        log.debug(httpPortsMsg(httpPort, httpsPort));
        }
@@ -553,7 +562,7 @@ final class Kernel implements KernelHeader, KernelConstants, ServiceListener {
                rootThreadGroup.enumerate(threads);
                int nonDameonCount = 0;
                for (Thread t : threads)
-                       if (!t.isDaemon())
+                       if (t != null && !t.isDaemon())
                                nonDameonCount++;
                return nonDameonCount;
        }