Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 19365 invoked from network); 17 Dec 2006 09:01:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 17 Dec 2006 09:01:05 -0000 Received: (qmail 94510 invoked by uid 500); 17 Dec 2006 09:01:13 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 94478 invoked by uid 500); 17 Dec 2006 09:01:13 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 94467 invoked by uid 99); 17 Dec 2006 09:01:13 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 17 Dec 2006 01:01:13 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 17 Dec 2006 01:01:04 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id B4F891A981A; Sun, 17 Dec 2006 01:00:17 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r487952 - /geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/cluster/ClusteredSessionManager.java Date: Sun, 17 Dec 2006 09:00:17 -0000 To: scm@geronimo.apache.org From: djencks@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061217090017.B4F891A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: djencks Date: Sun Dec 17 01:00:17 2006 New Revision: 487952 URL: http://svn.apache.org/viewvc?view=rev&rev=487952 Log: GERONIMO-2669 partial fix for changes in AbstractSessionManager so g. will compile, but presumably the clusteredsessionManager won't actually work Modified: geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/cluster/ClusteredSessionManager.java Modified: geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/cluster/ClusteredSessionManager.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/cluster/ClusteredSessionManager.java?view=diff&rev=487952&r1=487951&r2=487952 ============================================================================== --- geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/cluster/ClusteredSessionManager.java (original) +++ geronimo/server/trunk/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/cluster/ClusteredSessionManager.java Sun Dec 17 01:00:17 2006 @@ -29,14 +29,13 @@ /** - * * @version $Rev$ $Date$ */ public class ClusteredSessionManager extends AbstractSessionManager { - + private final SessionManager sessionManager; private final Map idToSession = new HashMap(); - + public ClusteredSessionManager(SessionManager sessionManager) { this.sessionManager = sessionManager; @@ -45,7 +44,7 @@ HashSessionIdManager sessionIdManager = new HashSessionIdManager(); sessionIdManager.setWorkerName(workerName); setMetaManager(sessionIdManager); - + sessionManager.registerListener(new MigrationListener()); // sessions are not removed by this manager. They are invalidated via a callback mechanism @@ -57,16 +56,64 @@ return new ClusteredSession(request); } + @Override + protected void addSession(Session session) { + //todo gianni fixme + synchronized (idToSession) { + idToSession.put(session.getId(), (ClusteredSession) session); + } + } + + @Override + protected void removeSession(String idInCluster) { + //todo gianni fixme + synchronized (idToSession) { + idToSession.remove(idInCluster); + } + } + + @Override + protected Session getSession(String idInCluster) { + //todo gianni fixme + synchronized (idToSession) { + return idToSession.get(idInCluster); + } + } + + @Override + public int getSessions() { + //todo gianni fixme + synchronized (idToSession) { + return idToSession.size(); + } + } + + + /** + * @deprecated. Need to review if it is needed. + */ + @Override + public Map getSessionMap() { + //todo gianni fixme + return idToSession; + } + + @Override + protected void invalidateSessions() { + //todo gianni fixme + } + + private class MigrationListener implements SessionListener { - + public void notifyInboundSessionMigration(org.apache.geronimo.clustering.Session session) { addSession(new ClusteredSession(session), false); } - + public void notifyOutboundSessionMigration(org.apache.geronimo.clustering.Session session) { ClusteredSession clusteredSession; synchronized (idToSession) { - clusteredSession = (ClusteredSession) idToSession.remove(session.getSessionId()); + clusteredSession = (ClusteredSession) idToSession.remove(session.getSessionId()); } if (null == clusteredSession) { throw new AssertionError("Session [" + session + "] is undefined"); @@ -89,7 +136,7 @@ idToSession.put(getId(), this); } } - + protected ClusteredSession(org.apache.geronimo.clustering.Session session) { super(session.getSessionId()); this.session = session; @@ -97,7 +144,7 @@ idToSession.put(getId(), this); } } - + @Override protected Map newAttributeMap() { return session.getState();