X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=server%2Fruntime%2Forg.argeo.server.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fjcr%2FThreadBoundJcrSessionFactory.java;h=4e9e0a759d51f7e1b44110f3cc6e2acbdbe7a9a0;hb=4a466f59df24fa18799297486b8d084b2a1aecba;hp=d548b6eddaa227a63be3449994e08ba6ad6da326;hpb=149023e5969377045847bbecf24b0898b18a67a9;p=lgpl%2Fargeo-commons.git diff --git a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/ThreadBoundJcrSessionFactory.java b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/ThreadBoundJcrSessionFactory.java index d548b6edd..4e9e0a759 100644 --- a/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/ThreadBoundJcrSessionFactory.java +++ b/server/runtime/org.argeo.server.jcr/src/main/java/org/argeo/jcr/ThreadBoundJcrSessionFactory.java @@ -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()) {