]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelThread.java
Remove node data model, home areas based on workspaces instead.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / KernelThread.java
index 944a7cd3dbcf3bd42b59afdc37ce535c49bff558..a127866e3a28c086dc1010911f8879d9b821e1ae 100644 (file)
@@ -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,13 +8,15 @@ 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;
 
 /**
  * Background thread started by the {@link Kernel}, which gather statistics and
  * 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 */
@@ -35,6 +38,9 @@ class KernelThread extends Thread {
        }
 
        private void doSmallestPeriod() {
+               // Clean expired sessions
+               CmsSessionImpl.closeInvalidSessions();
+
                if (kernelStatsLog.isDebugEnabled()) {
                        StringBuilder line = new StringBuilder(64);
                        line.append("ยง\t");
@@ -85,6 +91,8 @@ class KernelThread extends Thread {
 
        @Override
        public void run() {
+               if (log.isTraceEnabled())
+                       log.trace("Kernel thread started.");
                final long periodNs = PERIOD * m;
                while (running) {
                        long beginNs = System.nanoTime();
@@ -106,11 +114,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);
+//             }
        }
 }