Adapt to changes in Argeo TP
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / internal / kernel / KernelThread.java
index 228737b9d42721b64c5b56a7cb52d891f078303b..b2b51eb8a9b1b509b0562b80c07c5b520b16cd0f 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,15 +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 {
-       @SuppressWarnings("unused")
-       private final Kernel kernel;
+       private final static Log log = LogFactory.getLog(KernelThread.class);
+
        private RepositoryStatisticsImpl repoStats;
 
        /** The smallest period of operation, in ms */
@@ -32,13 +33,14 @@ class KernelThread extends Thread {
        @SuppressWarnings("unused")
        private long cycle = 0l;
 
-       public KernelThread(Kernel kernel) {
-               super(kernel.threadGroup, kernel.getClass().getSimpleName());
-               this.kernel = kernel;
-               // this.repoStats = kernel.repository.getRepositoryStatistics();
+       public KernelThread(ThreadGroup threadGroup, String name) {
+               super(threadGroup, name);
        }
 
        private void doSmallestPeriod() {
+               // Clean expired sessions
+               CmsSessionImpl.closeInvalidSessions();
+
                if (kernelStatsLog.isDebugEnabled()) {
                        StringBuilder line = new StringBuilder(64);
                        line.append("ยง\t");
@@ -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);
+//             }
        }
 }