]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/ThreadBoundJcrSessionFactory.java
Last modified support
[lgpl/argeo-commons.git] / server / runtime / org.argeo.server.jcr / src / main / java / org / argeo / jcr / ThreadBoundJcrSessionFactory.java
index d548b6eddaa227a63be3449994e08ba6ad6da326..4e9e0a759d51f7e1b44110f3cc6e2acbdbe7a9a0 100644 (file)
@@ -37,7 +37,7 @@ import org.apache.commons.logging.LogFactory;
 import org.argeo.ArgeoException;
 
 /** Proxy JCR sessions and attach them to calling threads. */
-public class ThreadBoundJcrSessionFactory {
+public abstract class ThreadBoundJcrSessionFactory {
        private final static Log log = LogFactory
                        .getLog(ThreadBoundJcrSessionFactory.class);
 
@@ -69,7 +69,7 @@ public class ThreadBoundJcrSessionFactory {
        }
 
        /** Logs in to the repository using various strategies. */
-       protected Session login() {
+       protected synchronized Session login() {
                if (!isActive())
                        throw new ArgeoException("Thread bound session factory inactive");
 
@@ -252,6 +252,10 @@ public class ThreadBoundJcrSessionFactory {
        /** Monitors registered thread in order to clean up dead ones. */
        private class MonitoringThread extends Thread {
 
+               public MonitoringThread() {
+                       super("ThreadBound JCR Session Monitor");
+               }
+
                @Override
                public void run() {
                        while (isActive()) {