User: jules_gosnell
  Date: 02/02/01 11:12:03

  Modified:    jetty/src/main/org/jboss/jetty/session
                        DistributedHttpSessionManager.java
  Log:
  don't use sar in classpath - sun 1.3.0 doesn't like it
  genericise AbstractTimeOutManager so we can reuse it for IntervalSnapshotStrategy
  
  Revision  Changes    Path
  1.9       +24 -32    
contrib/jetty/src/main/org/jboss/jetty/session/DistributedHttpSessionManager.java
  
  Index: DistributedHttpSessionManager.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/contrib/jetty/src/main/org/jboss/jetty/session/DistributedHttpSessionManager.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- DistributedHttpSessionManager.java        2002/02/01 00:32:24     1.8
  +++ DistributedHttpSessionManager.java        2002/02/01 19:12:03     1.9
  @@ -5,7 +5,7 @@
    * See terms of license at gnu.org.
    */
   
  -// $Id: DistributedHttpSessionManager.java,v 1.8 2002/02/01 00:32:24 jules_gosnell 
Exp $
  +// $Id: DistributedHttpSessionManager.java,v 1.9 2002/02/01 19:12:03 jules_gosnell 
Exp $
   
   // TODO
   
  @@ -105,43 +105,38 @@
   class IntervalSnapshotStrategy
     extends SnapshotStrategy
   {
  -  class TimeOutNotifier
  -    implements AbstractTimeOutManager.TimeOutNotifier
  +  static class
  +    TimeOutHelper
  +    implements AbstractTimeOutManager.TimeOutHelper
     {
       public void
         timeOut(Object object)
       {
  -      DistributedHttpSession session=(DistributedHttpSession)object;
  -      System.out.println("snapshotting session ("+session.getId()+")");
  -      snapshot(session);
  -      //      _manager.reregister(session, System.currentTimeMillis(), 
_interval*1000);
  +      IntervalSnapshotStrategy iss=(IntervalSnapshotStrategy)object;
  +      System.out.println("snapshotting HttpSessions for Context 
("+iss._manager.getServletContext()+")");
  +      iss._timer.reregister(iss._manager, System.currentTimeMillis(), 
iss._interval*1000);
       }
  -  }
   
  -  class TimeOutTester
  -    implements AbstractTimeOutManager.TimeOutTester
  -  {
       public long
  -      timeRemaining(Object object, long now, long maxInactiveInterval)
  +      timeRemaining(Object object, long timeRegistered, long timeNow, long 
maxInactiveInterval)
       {
  -      DistributedHttpSession session=(DistributedHttpSession)object;
  -      return session.getLastAccessedTime()+ maxInactiveInterval- now;
  +      return (timeRegistered+maxInactiveInterval)-timeNow;
       }
     }
   
  -  //  final AbstractTimeOutManager _manager;
  -  final int                    _interval;
  +  static AbstractTimeOutManager       _timer=new NaiveTimeOutManager(5*1000, new 
TimeOutHelper());
  +  final int                           _interval;
  +  final DistributedHttpSessionManager _manager;
   
  -  IntervalSnapshotStrategy(/* AbstractTimeOutManager manager,*/
  +  IntervalSnapshotStrategy(DistributedHttpSessionManager manager,
                           int interval, boolean notifyActivate, boolean 
notifyPassivate)
     {
       super(notifyActivate, notifyPassivate);
  -    //    _manager=manager;
       _interval=interval;
  -  }
  +    _manager=manager;
   
  -  public void snapshot(DistributedHttpSession session)
  -  {}
  +    _timer.register(this, System.currentTimeMillis(), _interval*1000);
  +  }
   }
   
   class IdleSnapshotStrategy
  @@ -158,8 +153,8 @@
   
   //------------------------------------------------------------------------------
   
  -class MyTimeOutNotifier
  -  implements AbstractTimeOutManager.TimeOutNotifier
  +class MyTimeOutHelper
  +  implements AbstractTimeOutManager.TimeOutHelper
   {
     public void
       timeOut(Object object)
  @@ -168,23 +163,19 @@
       System.out.println("session ("+session.getId()+") timed out - cleaning up");
       session.getManager().destroyHttpSession(session);
     }
  -}
   
  -class MyTimeOutTester
  -  implements AbstractTimeOutManager.TimeOutTester
  -{
     public long
  -    timeRemaining(Object object, long now, long maxInactiveInterval)
  +    timeRemaining(Object object, long timeRegistered, long timeNow, long 
maxInactiveInterval)
     {
       DistributedHttpSession session=(DistributedHttpSession)object;
  -    return session.getLastAccessedTime()+ maxInactiveInterval- now;
  +    return session.getLastAccessedTime()+maxInactiveInterval-timeNow;
     }
   }
   
   //------------------------------------------------------------------------------
   /**
    *
  - * @version $Id: DistributedHttpSessionManager.java,v 1.8 2002/02/01 00:32:24 
jules_gosnell Exp $
  + * @version $Id: DistributedHttpSessionManager.java,v 1.9 2002/02/01 19:12:03 
jules_gosnell Exp $
    * @author [EMAIL PROTECTED]
    */
   //----------------------------------------
  @@ -192,7 +183,7 @@
   public class DistributedHttpSessionManager
     implements org.mortbay.jetty.servlet.SessionManager
   {
  -  static AbstractTimeOutManager    _scavenger                 =new 
NaiveTimeOutManager(5*1000, new MyTimeOutNotifier(), new MyTimeOutTester());
  +  static AbstractTimeOutManager    _scavenger                 =new 
NaiveTimeOutManager(5*1000, new MyTimeOutHelper());
     static { _scavenger.start(); }
   
     final AbstractStore              _store;
  @@ -276,7 +267,8 @@
       {
         try
         {
  -     tmp=new IntervalSnapshotStrategy(Integer.decode(snapshotFrequency).intValue(),
  +     tmp=new IntervalSnapshotStrategy(this,
  +                                      Integer.decode(snapshotFrequency).intValue(),
                                         notifyActivation, notifyPassivation);
         }
         catch (NumberFormatException e)
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to