cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
costin 2003/02/06 15:01:41 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Another backport from head: more informations about the session creation (to be exposed via JMX or used directly ). This is very usefull in debugging and in finding out what happens in production servers. Revision ChangesPath 1.18 +115 -8 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- ManagerBase.java 1 Jan 2003 06:24:26 - 1.17 +++ ManagerBase.java 6 Feb 2003 23:01:41 - 1.18 @@ -73,6 +73,9 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Random; +import java.util.Iterator; +import java.util.Date; + import org.apache.catalina.Container; import org.apache.catalina.DefaultContext; import org.apache.catalina.Engine; @@ -135,8 +138,8 @@ * The DefaultContext with which this Manager is associated. */ protected DefaultContext defaultContext = null; - - + + /** * Return the MessageDigest implementation to be used when * creating session identifiers. @@ -203,6 +206,14 @@ */ protected HashMap sessions = new HashMap(); +// Total number of sessions created by this manager +protected int sessionCounter=0; + +protected int maxActive=0; + +// number of duplicated session ids - anything 0 means we have problems +protected int duplicates=0; + /** * The string manager for this package. @@ -290,8 +301,8 @@ support.firePropertyChange(defaultContext, oldDefaultContext, this.defaultContext); } - - + + /** * Return the debugging detail level for this component. */ @@ -530,6 +541,9 @@ synchronized (sessions) { sessions.put(session.getId(), session); +if( sessions.size() maxActive ) { +maxActive=sessions.size(); +} } } @@ -588,6 +602,7 @@ synchronized (sessions) { while (sessions.get(sessionId) != null){ // Guarantee uniqueness sessionId = generateSessionId(); +duplicates++; // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; @@ -596,6 +611,7 @@ } session.setId(sessionId); +sessionCounter++; return (session); @@ -795,5 +811,96 @@ } +public void setSessionCounter(int sessionCounter) { +this.sessionCounter = sessionCounter; +} + +/** Total sessions created by this manager. + * + * @return sessions created + */ +public int getSessionCounter() { +return sessionCounter; +} + +/** Number of duplicated session IDs generated by the random source. + * Anything bigger than 0 means problems. + * + * @return + */ +public int getDuplicates() { +return duplicates; +} + +public void setDuplicates(int duplicates) { +this.duplicates = duplicates; +} + +/** Returns the number of active sessions + * + * @return number of sessions active + */ +public int getActiveSessions() { +return sessions.size(); +} + +/** Max number of concurent active sessions + * + * @return + */ +public int getMaxActive() { +return maxActive; +} + +public void setMaxActive(int maxActive) { +this.maxActive = maxActive; +} + +/** For debugging: return a list of all session ids currently active + * + */ +public String listSessionIds() { +StringBuffer sb=new StringBuffer(); +Iterator keys=sessions.keySet().iterator(); +while( keys.hasNext() ) { +sb.append(keys.next()).append( ); +} +return sb.toString(); +} + +/** For debugging: get a session attribute + * + * @param sessionId + * @param key + * @return + */ +public String getSessionAttribute( String sessionId, String key ) { +Session s=(Session)sessions.get(sessionId); +if( s==null ) { +log(Session not found + sessionId); +return null; +} +Object o=s.getSession().getAttribute(key); +if( o==null ) return null; +return
Re: cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
[EMAIL PROTECTED] wrote: billbarker2002/12/30 19:45:48 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Make certain that the jvmRoute is attached to the session before comparing for uniqueness. Submitted by: Glenn Olander [EMAIL PROTECTED] Revision ChangesPath 1.16 +15 -9 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ManagerBase.java 30 Dec 2002 02:36:26 - 1.15 +++ ManagerBase.java 31 Dec 2002 03:45:48 - 1.16 @@ -580,17 +580,23 @@ session.setMaxInactiveInterval(this.maxInactiveInterval); String sessionId = generateSessionId(); -synchronized (sessions) { -while (sessions.get(sessionId) != null)// Guarantee uniqueness -sessionId = generateSessionId(); -} - String jvmRoute = getJvmRoute(); // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; session.setId(sessionId); } +synchronized (sessions) { +while (sessions.get(sessionId) != null){ // Guarantee uniqueness +sessionId = generateSessionId(); +// @todo Move appending of jvmRoute generateSessionId()??? +if (jvmRoute != null) { +sessionId += '.' + jvmRoute; +session.setId(sessionId); +} +} +} + session.setId(sessionId); return (session); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED] Seems to me that all but the last setID(sessionID) in the code above should be removed. The session ID should not be set until a unique id has been found. I have attached a patch against the current head removing the lines to be deleted. Unless I am missing something, there is no point in making these calls -- and from looking at what setID does, there could be some undesirable side effects. -Phil Index: ManagerBase.java === RCS file: /home/cvspublic/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.16 diff -u -r1.16 ManagerBase.java --- ManagerBase.java31 Dec 2002 03:45:48 - 1.16 +++ ManagerBase.java1 Jan 2003 00:37:30 - @@ -584,7 +584,6 @@ // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; -session.setId(sessionId); } synchronized (sessions) { while (sessions.get(sessionId) != null){ // Guarantee uniqueness @@ -592,7 +591,6 @@ // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; -session.setId(sessionId); } } } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
billbarker2002/12/31 22:24:26 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Set the sessionId property only once. It seems that this is an issue for the community, so let's get it right. Submitted by: Phil Steitz [EMAIL PROTECTED] Revision ChangesPath 1.17 +4 -6 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- ManagerBase.java 31 Dec 2002 03:45:48 - 1.16 +++ ManagerBase.java 1 Jan 2003 06:24:26 - 1.17 @@ -584,7 +584,6 @@ // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; -session.setId(sessionId); } synchronized (sessions) { while (sessions.get(sessionId) != null){ // Guarantee uniqueness @@ -592,7 +591,6 @@ // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; -session.setId(sessionId); } } } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
billbarker2002/12/30 19:45:48 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Make certain that the jvmRoute is attached to the session before comparing for uniqueness. Submitted by: Glenn Olander [EMAIL PROTECTED] Revision ChangesPath 1.16 +15 -9 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- ManagerBase.java 30 Dec 2002 02:36:26 - 1.15 +++ ManagerBase.java 31 Dec 2002 03:45:48 - 1.16 @@ -580,17 +580,23 @@ session.setMaxInactiveInterval(this.maxInactiveInterval); String sessionId = generateSessionId(); -synchronized (sessions) { -while (sessions.get(sessionId) != null)// Guarantee uniqueness -sessionId = generateSessionId(); -} - String jvmRoute = getJvmRoute(); // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; session.setId(sessionId); } +synchronized (sessions) { +while (sessions.get(sessionId) != null){ // Guarantee uniqueness +sessionId = generateSessionId(); +// @todo Move appending of jvmRoute generateSessionId()??? +if (jvmRoute != null) { +sessionId += '.' + jvmRoute; +session.setId(sessionId); +} +} +} + session.setId(sessionId); return (session); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
billbarker2002/12/29 18:36:26 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Re-enable the unique session-id logic. Submitted By: Tim Funk [EMAIL PROTECTED] Revision ChangesPath 1.15 +10 -10 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- ManagerBase.java 10 Dec 2002 13:33:22 - 1.14 +++ ManagerBase.java 30 Dec 2002 02:36:26 - 1.15 @@ -579,18 +579,18 @@ session.setCreationTime(System.currentTimeMillis()); session.setMaxInactiveInterval(this.maxInactiveInterval); String sessionId = generateSessionId(); + +synchronized (sessions) { +while (sessions.get(sessionId) != null)// Guarantee uniqueness +sessionId = generateSessionId(); +} + String jvmRoute = getJvmRoute(); // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; session.setId(sessionId); } -/* -synchronized (sessions) { -while (sessions.get(sessionId) != null)// Guarantee uniqueness -sessionId = generateSessionId(); -} -*/ session.setId(sessionId); return (session); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
remm2002/12/10 05:33:22 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: - Part of the manager patch wasn't reverted (I don't know if it's a problem or not in the real world; just playing it safe). Revision ChangesPath 1.14 +13 -23 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ManagerBase.java 30 Nov 2002 12:43:14 - 1.13 +++ ManagerBase.java 10 Dec 2002 13:33:22 - 1.14 @@ -560,7 +560,18 @@ public Session createSession() { // Recycle or create a Session instance -Session session = createEmptySession(); +Session session = null; +synchronized (recycled) { +int size = recycled.size(); +if (size 0) { +session = (Session) recycled.get(size - 1); +recycled.remove(size - 1); +} +} +if (session != null) +session.setManager(this); +else +session = new StandardSession(this); // Initialize the properties of the new session and return it session.setNew(true); @@ -572,6 +583,7 @@ // @todo Move appending of jvmRoute generateSessionId()??? if (jvmRoute != null) { sessionId += '.' + jvmRoute; +session.setId(sessionId); } /* synchronized (sessions) { @@ -583,28 +595,6 @@ return (session); -} - - -/** - * Get a session from the recycled ones or create a new empty one. - * The PersistentManager manager does not need to create session data - * because it reads it from the Store. - */ -public Session createEmptySession() { -Session session = null; -synchronized (recycled) { -int size = recycled.size(); -if (size 0) { -session = (Session) recycled.get(size - 1); -recycled.remove(size - 1); -} -} -if (session != null) -session.setManager(this); -else -session = new StandardSession(this); -return(session); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
amyroh 2002/09/19 15:55:48 Modified:catalina/src/share/org/apache/catalina DefaultContext.java Loader.java Manager.java catalina/src/share/org/apache/catalina/core StandardDefaultContext.java catalina/src/share/org/apache/catalina/loader WebappLoader.java catalina/src/share/org/apache/catalina/mbeans MBeanFactory.java MBeanUtils.java ServerLifecycleListener.java catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Add Loader and Manager support in DefaultContext admin. Revision ChangesPath 1.5 +27 -10 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/DefaultContext.java Index: DefaultContext.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/DefaultContext.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DefaultContext.java 9 Sep 2002 23:39:03 - 1.4 +++ DefaultContext.java 19 Sep 2002 22:55:47 - 1.5 @@ -64,6 +64,7 @@ package org.apache.catalina; +import java.beans.PropertyChangeListener; import javax.naming.directory.DirContext; import org.apache.catalina.deploy.ApplicationParameter; import org.apache.catalina.deploy.ContextEjb; @@ -205,6 +206,12 @@ public void setManager(Manager manager); +/** + * Return the naming resources associated with this web application. + */ +public NamingResources getNamingResources(); + + // -- Public Properties @@ -311,6 +318,14 @@ /** + * Add a property change listener to this component. + * + * @param listener The listener to add + */ +public void addPropertyChangeListener(PropertyChangeListener listener); + + +/** * Add a resource reference for this web application. * * @param resource New resource reference @@ -354,12 +369,6 @@ /** - * Return the naming resources associated with this web application. - */ -public NamingResources getNamingResources(); - - -/** * Return the set of application listener class names configured * for this application. */ @@ -550,6 +559,14 @@ * @param name Name of the parameter to remove */ public void removeParameter(String name); + + +/** + * Remove a property change listener from this component. + * + * @param listener The listener to remove + */ +public void removePropertyChangeListener(PropertyChangeListener listener); /** 1.6 +18 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Loader.java Index: Loader.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Loader.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Loader.java 22 Jul 2001 20:13:30 - 1.5 +++ Loader.java 19 Sep 2002 22:55:47 - 1.6 @@ -126,6 +126,20 @@ /** + * Return the DefaultContext with which this Manager is associated. + */ +public DefaultContext getDefaultContext(); + + +/** + * Set the DefaultContext with which this Manager is associated. + * + * @param defaultContext The newly associated DefaultContext + */ +public void setDefaultContext(DefaultContext defaultContext); + + +/** * Return the follow standard delegation model flag used to configure * our ClassLoader. */ 1.6 +19 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java Index: Manager.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Manager.java 22 Jul 2001 20:13:30 - 1.5 +++ Manager.java 19 Sep 2002 22:55:47 - 1.6 @@ -110,6 +110,21 @@ /** + * Return the DefaultContext with which this Manager is associated. + */ +public DefaultContext getDefaultContext(); + + +/** + * Set the DefaultContext with which this Manager is associated. + * + * @param defaultContext The newly associated DefaultContext + */ +public void setDefaultContext(DefaultContext defaultContext); + + + +/** * Return the distributable flag for
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
remm02/01/17 04:11:59 Modified:catalina/src/share/org/apache/catalina/session Tag: tomcat_40_branch ManagerBase.java Log: - Port JVM route addition. Revision ChangesPath No revision No revision 1.9.2.2 +39 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.9.2.1 retrieving revision 1.9.2.2 diff -u -r1.9.2.1 -r1.9.2.2 --- ManagerBase.java 10 Dec 2001 01:26:48 - 1.9.2.1 +++ ManagerBase.java 17 Jan 2002 12:11:59 - 1.9.2.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.9.2.1 2001/12/10 01:26:48 craigmcc Exp $ - * $Revision: 1.9.2.1 $ - * $Date: 2001/12/10 01:26:48 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.9.2.2 2002/01/17 12:11:59 remm Exp $ + * $Revision: 1.9.2.2 $ + * $Date: 2002/01/17 12:11:59 $ * * * @@ -74,6 +74,7 @@ import java.util.HashMap; import java.util.Random; import org.apache.catalina.Container; +import org.apache.catalina.Engine; import org.apache.catalina.Logger; import org.apache.catalina.Manager; import org.apache.catalina.Session; @@ -86,7 +87,7 @@ * be subclassed to create more sophisticated Manager implementations. * * @author Craig R. McClanahan - * @version $Revision: 1.9.2.1 $ $Date: 2001/12/10 01:26:48 $ + * @version $Revision: 1.9.2.2 $ $Date: 2002/01/17 12:11:59 $ */ public abstract class ManagerBase implements Manager { @@ -547,6 +548,12 @@ session.setCreationTime(System.currentTimeMillis()); session.setMaxInactiveInterval(this.maxInactiveInterval); String sessionId = generateSessionId(); +String jvmRoute = getJvmRoute(); +// @todo Move appending of jvmRoute generateSessionId()??? +if (jvmRoute != null) { +sessionId += '.' + jvmRoute; +session.setId(sessionId); +} /* synchronized (sessions) { while (sessions.get(sessionId) != null)// Guarantee uniqueness @@ -655,6 +662,34 @@ } return (result.toString()); +} + + +/** + * Retrieve the enclosing Engine for this Manager. + * + * @return an Engine object (or null). + */ +protected Engine getEngine() { +Engine e = null; +for (Container c=getContainer(); e == null c != null ; + c = c.getParent()) { +if (c != null c instanceof Engine) { +e = (Engine)c; +} +} +return e; +} + + +/** + * Retrieve the JvmRoute for the enclosing Engine. + * + * @return the JvmRoute or null. + */ +protected String getJvmRoute() { +Engine e = getEngine(); +return e == null ? null : e.getJvmRoute(); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
remm02/01/14 15:38:03 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: - Add JVM route support. - Patch submitted by Tom Drake rtd at pobox.com Revision ChangesPath 1.11 +40 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- ManagerBase.java 10 Dec 2001 01:24:41 - 1.10 +++ ManagerBase.java 14 Jan 2002 23:38:03 - 1.11 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.10 2001/12/10 01:24:41 craigmcc Exp $ - * $Revision: 1.10 $ - * $Date: 2001/12/10 01:24:41 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.11 2002/01/14 23:38:03 remm Exp $ + * $Revision: 1.11 $ + * $Date: 2002/01/14 23:38:03 $ * * * @@ -74,6 +74,7 @@ import java.util.HashMap; import java.util.Random; import org.apache.catalina.Container; +import org.apache.catalina.Engine; import org.apache.catalina.Logger; import org.apache.catalina.Manager; import org.apache.catalina.Session; @@ -86,7 +87,7 @@ * be subclassed to create more sophisticated Manager implementations. * * @author Craig R. McClanahan - * @version $Revision: 1.10 $ $Date: 2001/12/10 01:24:41 $ + * @version $Revision: 1.11 $ $Date: 2002/01/14 23:38:03 $ */ public abstract class ManagerBase implements Manager { @@ -547,6 +548,12 @@ session.setCreationTime(System.currentTimeMillis()); session.setMaxInactiveInterval(this.maxInactiveInterval); String sessionId = generateSessionId(); +String jvmRoute = getJvmRoute(); +// @todo Move appending of jvmRoute generateSessionId()??? +if (jvmRoute != null) { +sessionId += '.' + jvmRoute; +session.setId(sessionId); +} /* synchronized (sessions) { while (sessions.get(sessionId) != null)// Guarantee uniqueness @@ -655,6 +662,35 @@ } return (result.toString()); +} + + +// -- Protected Methods + + +/** + * Retrieve the enclosing Engine for this Manager. + * + * @return an Engine object (or null). + */ +public Engine getEngine() { +Engine e = null; +for (Container c = getContainer(); e == null c != null ; c = c.getParent()) { +if (c != null c instanceof Engine) { +e = (Engine)c; +} +} +return e; +} + + +/** + * Retrieve the JvmRoute for the enclosing Engine. + * @return the JvmRoute or null. + */ +public String getJvmRoute() { +Engine e = getEngine(); +return e == null ? null : e.getJvmRoute(); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
craigmcc01/12/09 17:24:41 Modified:catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Correct hexadecimal conversion when rendering session ids (and SSO session ids) as strings. PR: Bugzilla #4969 Submitted by: Eli Miller [EMAIL PROTECTED] Revision ChangesPath 1.28 +5 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java Index: AuthenticatorBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- AuthenticatorBase.java2001/12/01 07:39:50 1.27 +++ AuthenticatorBase.java2001/12/10 01:24:41 1.28 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v 1.27 2001/12/01 07:39:50 remm Exp $ - * $Revision: 1.27 $ - * $Date: 2001/12/01 07:39:50 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v 1.28 2001/12/10 01:24:41 craigmcc Exp $ + * $Revision: 1.28 $ + * $Date: 2001/12/10 01:24:41 $ * * * @@ -121,7 +121,7 @@ * requests. Requests of any other type will simply be passed through. * * @author Craig R. McClanahan - * @version $Revision: 1.27 $ $Date: 2001/12/01 07:39:50 $ + * @version $Revision: 1.28 $ $Date: 2001/12/10 01:24:41 $ */ @@ -808,7 +808,7 @@ if (b2 10) result.append((char) ('0' + b2)); else -result.append((char) ('0' + (b2 - 10))); +result.append((char) ('A' + (b2 - 10))); } return (result.toString()); 1.10 +5 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- ManagerBase.java 2001/07/22 20:25:12 1.9 +++ ManagerBase.java 2001/12/10 01:24:41 1.10 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.9 2001/07/22 20:25:12 pier Exp $ - * $Revision: 1.9 $ - * $Date: 2001/07/22 20:25:12 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.10 2001/12/10 01:24:41 craigmcc Exp $ + * $Revision: 1.10 $ + * $Date: 2001/12/10 01:24:41 $ * * * @@ -86,7 +86,7 @@ * be subclassed to create more sophisticated Manager implementations. * * @author Craig R. McClanahan - * @version $Revision: 1.9 $ $Date: 2001/07/22 20:25:12 $ + * @version $Revision: 1.10 $ $Date: 2001/12/10 01:24:41 $ */ public abstract class ManagerBase implements Manager { @@ -651,7 +651,7 @@ if (b2 10) result.append((char) ('0' + b2)); else -result.append((char) ('0' + (b2 - 10))); +result.append((char) ('A' + (b2 - 10))); } return (result.toString()); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
craigmcc01/12/09 17:26:48 Modified:catalina/src/share/org/apache/catalina/authenticator Tag: tomcat_40_branch AuthenticatorBase.java catalina/src/share/org/apache/catalina/session Tag: tomcat_40_branch ManagerBase.java Log: Ported the fix on hexadecimal conversion when rendering session ids. (This could explain some of the can't find my session bug reports on TOMCAT-USER ...) PR: Bugzilla #4969 Submitted by: Eli Miller [EMAIL PROTECTED] Revision ChangesPath No revision No revision 1.23.2.3 +5 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java Index: AuthenticatorBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v retrieving revision 1.23.2.2 retrieving revision 1.23.2.3 diff -u -r1.23.2.2 -r1.23.2.3 --- AuthenticatorBase.java2001/12/03 19:53:49 1.23.2.2 +++ AuthenticatorBase.java2001/12/10 01:26:48 1.23.2.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v 1.23.2.2 2001/12/03 19:53:49 remm Exp $ - * $Revision: 1.23.2.2 $ - * $Date: 2001/12/03 19:53:49 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v 1.23.2.3 2001/12/10 01:26:48 craigmcc Exp $ + * $Revision: 1.23.2.3 $ + * $Date: 2001/12/10 01:26:48 $ * * * @@ -121,7 +121,7 @@ * requests. Requests of any other type will simply be passed through. * * @author Craig R. McClanahan - * @version $Revision: 1.23.2.2 $ $Date: 2001/12/03 19:53:49 $ + * @version $Revision: 1.23.2.3 $ $Date: 2001/12/10 01:26:48 $ */ @@ -800,7 +800,7 @@ if (b2 10) result.append((char) ('0' + b2)); else -result.append((char) ('0' + (b2 - 10))); +result.append((char) ('A' + (b2 - 10))); } return (result.toString()); No revision No revision 1.9.2.1 +5 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.9 retrieving revision 1.9.2.1 diff -u -r1.9 -r1.9.2.1 --- ManagerBase.java 2001/07/22 20:25:12 1.9 +++ ManagerBase.java 2001/12/10 01:26:48 1.9.2.1 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.9 2001/07/22 20:25:12 pier Exp $ - * $Revision: 1.9 $ - * $Date: 2001/07/22 20:25:12 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.9.2.1 2001/12/10 01:26:48 craigmcc Exp $ + * $Revision: 1.9.2.1 $ + * $Date: 2001/12/10 01:26:48 $ * * * @@ -86,7 +86,7 @@ * be subclassed to create more sophisticated Manager implementations. * * @author Craig R. McClanahan - * @version $Revision: 1.9 $ $Date: 2001/07/22 20:25:12 $ + * @version $Revision: 1.9.2.1 $ $Date: 2001/12/10 01:26:48 $ */ public abstract class ManagerBase implements Manager { @@ -651,7 +651,7 @@ if (b2 10) result.append((char) ('0' + b2)); else -result.append((char) ('0' + (b2 - 10))); +result.append((char) ('A' + (b2 - 10))); } return (result.toString()); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java PersistentManager.java PersistentManagerBase.java StandardManager.java
craigmcc01/04/17 10:07:12 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java PersistentManager.java PersistentManagerBase.java StandardManager.java Log: Add some debugging messages to the Manager implementations. NOTE: The recent refactoring of where session storing and loading occurs has broken saving and restoring sessions across restarts (to prove it, use the "tester" suite and run target "HttpSession"). Kief/Bip/et. al., could you help me look at this, please? Revision ChangesPath 1.8 +24 -8 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ManagerBase.java 2001/04/12 18:18:57 1.7 +++ ManagerBase.java 2001/04/17 17:06:58 1.8 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.7 2001/04/12 18:18:57 kief Exp $ - * $Revision: 1.7 $ - * $Date: 2001/04/12 18:18:57 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.8 2001/04/17 17:06:58 craigmcc Exp $ + * $Revision: 1.8 $ + * $Date: 2001/04/17 17:06:58 $ * * * @@ -86,7 +86,7 @@ * be subclassed to create more sophisticated Manager implementations. * * @author Craig R. McClanahan - * @version $Revision: 1.7 $ $Date: 2001/04/12 18:18:57 $ + * @version $Revision: 1.8 $ $Date: 2001/04/17 17:06:58 $ */ public abstract class ManagerBase implements Manager { @@ -165,6 +165,12 @@ /** + * The descriptive name of this Manager implementation (for logging). + */ +protected static String name = "ManagerBase"; + + +/** * A random number generator to use when generating session identifiers. */ protected Random random = null; @@ -406,6 +412,16 @@ /** + * Return the descriptive short name of this Manager implementation. + */ +public String getName() { + +return (name); + +} + + +/** * Return the random number generator instance we should use for * generating session identifiers. If there is no such generator * currently defined, construct and seed a new one. @@ -656,13 +672,13 @@ if (container != null) logger = container.getLogger(); if (logger != null) -logger.log("Manager[" + container.getName() + "]: " +logger.log(getName() + "[" + container.getName() + "]: " + message); else { String containerName = null; if (container != null) containerName = container.getName(); -System.out.println("Manager[" + containerName +System.out.println(getName() + "[" + containerName + "]: " + message); } @@ -681,13 +697,13 @@ if (container != null) logger = container.getLogger(); if (logger != null) -logger.log("Manager[" + container.getName() + "] " +logger.log(getName() + "[" + container.getName() + "] " + message, throwable); else { String containerName = null; if (container != null) containerName = container.getName(); -System.out.println("Manager[" + containerName +System.out.println(getName() + "[" + containerName + "]: " + message); throwable.printStackTrace(System.out); } 1.8 +20 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java Index: PersistentManager.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- PersistentManager.java2001/04/15 09:33:27 1.7 +++ PersistentManager.java2001/04/17 17:07:01 1.8 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java,v 1.7 2001/04/15 09:33:27 kief Exp $ - * $Revision: 1.7 $ - * $Date: 2001/04/15 09:33:27 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/PersistentManager.java,v 1.8 2001/04/17
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java
kief01/04/08 01:02:04 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java Log: Refactoring to eliminate dependencies by StandardManager, ManagerBase, and StandardSession on one another: each should only depend on methods found in the interface definitions for Manager and Session. Revision ChangesPath 1.6 +35 -35 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ManagerBase.java 2001/03/14 02:17:22 1.5 +++ ManagerBase.java 2001/04/08 08:02:04 1.6 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.5 2001/03/14 02:17:22 craigmcc Exp $ - * $Revision: 1.5 $ - * $Date: 2001/03/14 02:17:22 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.6 2001/04/08 08:02:04 kief Exp $ + * $Revision: 1.6 $ + * $Date: 2001/04/08 08:02:04 $ * * * @@ -86,7 +86,7 @@ * be subclassed to create more sophisticated Manager implementations. * * @author Craig R. McClanahan - * @version $Revision: 1.5 $ $Date: 2001/03/14 02:17:22 $ + * @version $Revision: 1.6 $ $Date: 2001/04/08 08:02:04 $ */ public abstract class ManagerBase implements Manager { @@ -474,6 +474,20 @@ /** + * Add this Session to the set of active Sessions for this Manager. + * + * @param session Session to be added + */ +public void add(Session session) { + + synchronized (sessions) { + sessions.put(session.getId(), session); + } + +} + + +/** * Add a property change listener to this component. * * @param listener The listener to add @@ -498,11 +512,11 @@ public Session createSession() { // Recycle or create a Session instance - StandardSession session = null; + Session session = null; synchronized (recycled) { int size = recycled.size(); if (size 0) { - session = (StandardSession) recycled.get(size - 1); + session = (Session) recycled.get(size - 1); recycled.remove(size - 1); } } @@ -570,6 +584,20 @@ /** + * Remove this Session from the active Sessions for this Manager. + * + * @param session Session to be removed + */ +public void remove(Session session) { + + synchronized (sessions) { + sessions.remove(session.getId()); + } + +} + + +/** * Remove a property change listener from this component. * * @param listener The listener to remove @@ -618,20 +646,6 @@ /** - * Add this Session to the set of active Sessions for this Manager. - * - * @param session Session to be added - */ -void add(StandardSession session) { - - synchronized (sessions) { - sessions.put(session.getId(), session); - } - -} - - -/** * Log a message on the Logger associated with our Container (if any). * * @param message Message to be logged @@ -686,24 +700,10 @@ * * @param session Session to be recycled */ -void recycle(StandardSession session) { +void recycle(Session session) { synchronized (recycled) { recycled.add(session); - } - -} - - -/** - * Remove this Session from the active Sessions for this Manager. - * - * @param session Session to be removed - */ -void remove(StandardSession session) { - - synchronized (sessions) { - sessions.remove(session.getId()); } }
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java PersistentManager.java StandardSession.java
craigmcc01/03/13 18:17:23 Modified:catalina/src/share/org/apache/catalina/authenticator AuthenticatorBase.java FormAuthenticator.java catalina/src/share/org/apache/catalina/connector HttpRequestBase.java HttpResponseBase.java catalina/src/share/org/apache/catalina/core StandardContextValve.java catalina/src/share/org/apache/catalina/session ManagerBase.java PersistentManager.java StandardSession.java Log: Restore the correct operation of form-based login. The problem was caused by the following scenario: - Form based login authenticator would create a session in which to cache the original request while sending the login page - The access() method of the new session was being called, which set the "isNew" property to false, even though the session id had not yet been communicated to the client - Because isNew was false, the session id cookie was never sent - When the form login page was received and processed, and the user correctly authenticated, no session id was included -- so the cached original request could not be recovered. This triggered an "Error 400 - Bad Request" error As a side effect of this change, the last accessed time of a session is now correctly updated at the beginning of each request, whether or not the servlet actually calls request.getSession() to acquire a reference to it. See Servlet Specification, version 2.3 (PFD), Section 7.6 (p. 51). Revision ChangesPath 1.8 +5 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java Index: AuthenticatorBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- AuthenticatorBase.java2001/01/23 02:53:02 1.7 +++ AuthenticatorBase.java2001/03/14 02:17:20 1.8 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v 1.7 2001/01/23 02:53:02 craigmcc Exp $ - * $Revision: 1.7 $ - * $Date: 2001/01/23 02:53:02 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/AuthenticatorBase.java,v 1.8 2001/03/14 02:17:20 craigmcc Exp $ + * $Revision: 1.8 $ + * $Date: 2001/03/14 02:17:20 $ * * * @@ -117,7 +117,7 @@ * requests. Requests of any other type will simply be passed through. * * @author Craig R. McClanahan - * @version $Revision: 1.7 $ $Date: 2001/01/23 02:53:02 $ + * @version $Revision: 1.8 $ $Date: 2001/03/14 02:17:20 $ */ @@ -167,7 +167,7 @@ /** * The debugging detail level for this component. */ -protected int debug = 0; +protected int debug = 99; /** 1.7 +25 -8 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java Index: FormAuthenticator.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- FormAuthenticator.java2000/12/16 04:03:29 1.6 +++ FormAuthenticator.java2001/03/14 02:17:20 1.7 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v 1.6 2000/12/16 04:03:29 craigmcc Exp $ - * $Revision: 1.6 $ - * $Date: 2000/12/16 04:03:29 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v 1.7 2001/03/14 02:17:20 craigmcc Exp $ + * $Revision: 1.7 $ + * $Date: 2001/03/14 02:17:20 $ * * * @@ -88,7 +88,7 @@ * Authentication, as described in the Servlet API Specification, Version 2.2. * * @author Craig R. McClanahan - * @version $Revision: 1.6 $ $Date: 2000/12/16 04:03:29 $ + * @version $Revision: 1.7 $ $Date: 2001/03/14 02:17:20 $ */ public final class FormAuthenticator @@ -142,8 +142,12 @@ // Have we already authenticated someone? Principal principal = ((HttpServletRequest) request.getRequest()).getUserPrincipal(); - if (principal != null) + if (principal != null) { +if (debug = 1) +log("Already authenticated '" + +principal.getName() + "'");
cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session ManagerBase.java StandardManager.java
craigmcc00/12/21 17:54:34 Modified:catalina/src/share/org/apache/catalina/session ManagerBase.java StandardManager.java Log: Cause the random number to be initialized when a webapp first starts, rather than waiting for the first call to request.getSession(). Actually use the calculated seed value to initialize the random number generator, rather than just calculating it :-(. On at least Linux and Win98, this totally eliminates the multi-second seeding delay -- apparently, the default seeding algorithm is the one that is computationally expensive. Revision ChangesPath 1.3 +29 -19 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java Index: ManagerBase.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ManagerBase.java 2000/10/13 23:33:26 1.2 +++ ManagerBase.java 2000/12/22 01:54:33 1.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.2 2000/10/13 23:33:26 craigmcc Exp $ - * $Revision: 1.2 $ - * $Date: 2000/10/13 23:33:26 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v 1.3 2000/12/22 01:54:33 craigmcc Exp $ + * $Revision: 1.3 $ + * $Date: 2000/12/22 01:54:33 $ * * * @@ -86,7 +86,7 @@ * be subclassed to create more sophisticated Manager implementations. * * @author Craig R. McClanahan - * @version $Revision: 1.2 $ $Date: 2000/10/13 23:33:26 $ + * @version $Revision: 1.3 $ $Date: 2000/12/22 01:54:33 $ */ public abstract class ManagerBase implements Manager { @@ -413,21 +413,31 @@ public synchronized Random getRandom() { if (this.random == null) { - log(sm.getString("managerBase.seeding", randomClass)); - try { - Class clazz = Class.forName(randomClass); - this.random = (Random) clazz.newInstance(); - long seed = System.currentTimeMillis(); - char entropy[] = getEntropy().toCharArray(); - for (int i = 0; i entropy.length; i++) { - long update = ((byte) entropy[i]) ((i % 8) * 8); - seed ^= update; - } - } catch (Exception e) { - log(sm.getString("managerBase.random", randomClass), e); - this.random = new java.util.Random(); - } - log(sm.getString("managerBase.complete", randomClass)); +synchronized (this) { +if (this.random == null) { +// Calculate the new random number generator seed +log(sm.getString("managerBase.seeding", randomClass)); +long seed = System.currentTimeMillis(); +char entropy[] = getEntropy().toCharArray(); +for (int i = 0; i entropy.length; i++) { +long update = ((byte) entropy[i]) ((i % 8) * 8); +seed ^= update; +} +try { +// Construct and seed a new random number generator +Class clazz = Class.forName(randomClass); +this.random = (Random) clazz.newInstance(); +this.random.setSeed(seed); +} catch (Exception e) { +// Fall back to the simple case +log(sm.getString("managerBase.random", randomClass), +e); +this.random = new java.util.Random(); +this.random.setSeed(seed); +} +log(sm.getString("managerBase.complete", randomClass)); +} +} } return (this.random); 1.5 +11 -4 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java Index: StandardManager.java === RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- StandardManager.java 2000/10/14 21:43:54 1.4 +++ StandardManager.java 2000/12/22 01:54:33 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/StandardManager.java,v 1.4 2000/10/14 21:43:54 craigmcc Exp $ - *