cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
remm2005/03/02 12:19:58 Modified:catalina/src/share/org/apache/catalina/valves ValveBase.java Log: - Move the creation of the logger to a little bit later (not late enough probably, but for Tomcat standalone it works). Revision ChangesPath 1.18 +3 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java Index: ValveBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- ValveBase.java23 Feb 2005 19:27:56 - 1.17 +++ ValveBase.java2 Mar 2005 20:19:58 - 1.18 @@ -114,7 +114,7 @@ public void setContainer(Container container) { this.container = container; -this.containerLog = container.getLogger(); + } @@ -239,6 +239,7 @@ Container container=this.getContainer(); if( container == null || ! (container instanceof ContainerBase) ) return null; +this.containerLog = container.getLogger(); ContainerBase containerBase=(ContainerBase)container; Pipeline pipe=containerBase.getPipeline(); Valve valves[]=pipe.getValves(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
Remy Maucherat wrote: [EMAIL PROTECTED] wrote: luehe 2005/02/23 11:27:56 Modified:catalina/src/share/org/apache/catalina/authenticator FormAuthenticator.java NonLoginAuthenticator.java SSLAuthenticator.java SingleSignOn.java catalina/src/share/org/apache/catalina/realm DataSourceRealm.java JDBCRealm.java JNDIRealm.java RealmBase.java UserDatabaseRealm.java catalina/src/share/org/apache/catalina/valves ValveBase.java Log: No change in functionality. Added new containerLog instance var to RealmBase and ValveBase, which is initialized as container.getLogger() inside setContainer(). This will make it easier to do something like containerLog = LogFactory.getLog(container.logName()+.RealmBase); in the future, as suggested by Bill Barker. Actually, this is probably a bad idea (or at least the implementation is bad): the logger must be retrieved only when the context class loader of the application is set. This is where I'm not following: ;-) I don't see any dependency on the context's context class loader when calling ContainerBase.getLogger(), which is implemented like this: logger = LogFactory.getLog(logName()); A context's context class loader is required only for loading webapp resources. Jan This means no retrieving the logger in ValveBase.setContainer, since this is first called in StandardContext(). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
Jan Luehe wrote: Remy Maucherat wrote: Actually, this is probably a bad idea (or at least the implementation is bad): the logger must be retrieved only when the context class loader of the application is set. This is where I'm not following: ;-) I don't see any dependency on the context's context class loader when calling ContainerBase.getLogger(), which is implemented like this: logger = LogFactory.getLog(logName()); A context's context class loader is required only for loading webapp resources. The configuration for that logger should be doable at the webapp level (to summarize, I'd like to be able to have my logger configured using either /WEB-INF/classes/logging.properties or common/classes/logging.properties if the first one does not exist). The logging implementation gets which config it should lookup for the logger based on what the context CL is when calling getLogger. So the context CL needs to be set properly (or getLogger has to be called again). Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
Remy Maucherat wrote: Jan Luehe wrote: Remy Maucherat wrote: Actually, this is probably a bad idea (or at least the implementation is bad): the logger must be retrieved only when the context class loader of the application is set. This is where I'm not following: ;-) I don't see any dependency on the context's context class loader when calling ContainerBase.getLogger(), which is implemented like this: logger = LogFactory.getLog(logName()); A context's context class loader is required only for loading webapp resources. The configuration for that logger should be doable at the webapp level (to summarize, I'd like to be able to have my logger configured using either /WEB-INF/classes/logging.properties or common/classes/logging.properties if the first one does not exist). The logging implementation gets which config it should lookup for the logger based on what the context CL is when calling getLogger. So the context CL needs to be set properly (or getLogger has to be called again). Got it. Thanks! Jan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
[EMAIL PROTECTED] wrote: luehe 2005/02/23 11:27:56 Modified:catalina/src/share/org/apache/catalina/authenticator FormAuthenticator.java NonLoginAuthenticator.java SSLAuthenticator.java SingleSignOn.java catalina/src/share/org/apache/catalina/realm DataSourceRealm.java JDBCRealm.java JNDIRealm.java RealmBase.java UserDatabaseRealm.java catalina/src/share/org/apache/catalina/valves ValveBase.java Log: No change in functionality. Added new containerLog instance var to RealmBase and ValveBase, which is initialized as container.getLogger() inside setContainer(). This will make it easier to do something like containerLog = LogFactory.getLog(container.logName()+.RealmBase); in the future, as suggested by Bill Barker. Actually, this is probably a bad idea (or at least the implementation is bad): the logger must be retrieved only when the context class loader of the application is set. This means no retrieving the logger in ValveBase.setContainer, since this is first called in StandardContext(). Rémy (who's having a lot of fun with logging at the moment) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
luehe 2005/02/23 11:27:56 Modified:catalina/src/share/org/apache/catalina/authenticator FormAuthenticator.java NonLoginAuthenticator.java SSLAuthenticator.java SingleSignOn.java catalina/src/share/org/apache/catalina/realm DataSourceRealm.java JDBCRealm.java JNDIRealm.java RealmBase.java UserDatabaseRealm.java catalina/src/share/org/apache/catalina/valves ValveBase.java Log: No change in functionality. Added new containerLog instance var to RealmBase and ValveBase, which is initialized as container.getLogger() inside setContainer(). This will make it easier to do something like containerLog = LogFactory.getLog(container.logName()+.RealmBase); in the future, as suggested by Bill Barker. Revision ChangesPath 1.18 +3 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java Index: FormAuthenticator.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/FormAuthenticator.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- FormAuthenticator.java18 Feb 2005 23:35:18 - 1.17 +++ FormAuthenticator.java23 Feb 2005 19:27:56 - 1.18 @@ -272,8 +272,8 @@ if (session == null) session = request.getSessionInternal(false); if (session == null) { -if (container.getLogger().isDebugEnabled()) -container.getLogger().debug(User took so long to log on the session expired); +if (containerLog.isDebugEnabled()) +containerLog.debug(User took so long to log on the session expired); response.sendError(HttpServletResponse.SC_REQUEST_TIMEOUT, sm.getString(authenticator.sessionExpired)); return (false); 1.10 +3 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java Index: NonLoginAuthenticator.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/NonLoginAuthenticator.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- NonLoginAuthenticator.java18 Feb 2005 23:35:18 - 1.9 +++ NonLoginAuthenticator.java23 Feb 2005 19:27:56 - 1.10 @@ -91,8 +91,8 @@ associate(ssoId, getSession(request, true)); */ -if (container.getLogger().isDebugEnabled()) -container.getLogger().debug(User authentication is not required); +if (containerLog.isDebugEnabled()) +containerLog.debug(User authentication is not required); return (true); 1.21 +9 -9 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java Index: SSLAuthenticator.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/authenticator/SSLAuthenticator.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- SSLAuthenticator.java 18 Feb 2005 23:35:18 - 1.20 +++ SSLAuthenticator.java 23 Feb 2005 19:27:56 - 1.21 @@ -89,8 +89,8 @@ Principal principal = request.getUserPrincipal(); //String ssoId = (String) request.getNote(Constants.REQ_SSOID_NOTE); if (principal != null) { -if (container.getLogger().isDebugEnabled()) -container.getLogger().debug(Already authenticated ' + principal.getName() + '); +if (containerLog.isDebugEnabled()) +containerLog.debug(Already authenticated ' + principal.getName() + '); // Associate the session with any existing SSO session in order // to get coordinated session invalidation at logout String ssoId = (String) request.getNote(Constants.REQ_SSOID_NOTE); @@ -125,8 +125,8 @@ */ // Retrieve the certificate chain for this client -if (container.getLogger().isDebugEnabled()) -container.getLogger().debug( Looking up certificates); +if (containerLog.isDebugEnabled()) +containerLog.debug( Looking up certificates); X509Certificate certs[] = (X509Certificate[]) request.getAttribute(Globals.CERTIFICATES_ATTR); @@ -137,8 +137,8 @@ request.getAttribute(Globals.CERTIFICATES_ATTR); } if ((certs == null) ||
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
yoavs 2004/05/26 09:28:23 Modified:catalina/src/share/org/apache/catalina/valves ValveBase.java Log: Minor JavaDoc fixes (Bugzilla 28335) Revision ChangesPath 1.12 +3 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java Index: ValveBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ValveBase.java27 Feb 2004 14:58:52 - 1.11 +++ ValveBase.java26 May 2004 16:28:23 - 1.12 @@ -213,8 +213,8 @@ /** From the name, extract the parent object name * - * @param valveName - * @return + * @param valveName The valve name + * @return ObjectName The parent name */ public ObjectName getParentName( ObjectName valveName ) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
remm2003/11/26 16:29:15 Modified:catalina/src/share/org/apache/catalina/valves ValveBase.java Log: - Fix sequence generator when there are duplicate valves in the pipeline. - Thanks to Peter Rossbach for the help. Revision ChangesPath 1.10 +8 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java Index: ValveBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- ValveBase.java2 Sep 2003 21:22:03 - 1.9 +++ ValveBase.java27 Nov 2003 00:29:15 - 1.10 @@ -311,9 +311,11 @@ int seq=0; for( int i=0; ivalves.length; i++ ) { // Find other valves with the same name +if (valves[i] == this) { +break; +} if( valves[i]!=null -valves[i].getClass() == this.getClass() -valves[i] != this ) { +valves[i].getClass() == this.getClass() ) { log.debug(Duplicate + valves[i] + + this + + container); seq++; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
amyroh 2003/03/26 19:06:40 Modified:catalina/src/share/org/apache/catalina/core ContainerBase.java StandardPipeline.java StandardService.java catalina/src/share/org/apache/catalina/logger FileLogger.java LoggerBase.java catalina/src/share/org/apache/catalina/mbeans MBeanFactory.java catalina/src/share/org/apache/catalina/realm RealmBase.java catalina/src/share/org/apache/catalina/valves ValveBase.java Log: Add deregistration code for container, service, valve/logger dynamic registration. Use getObjectName() instead of MBeanUtils for most of cases. Revision ChangesPath 1.17 +12 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java Index: ContainerBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ContainerBase.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- ContainerBase.java26 Mar 2003 19:20:29 - 1.16 +++ ContainerBase.java27 Mar 2003 03:06:39 - 1.17 @@ -1322,6 +1322,16 @@ } } +// unregister this component +if( oname != null ) { +try { +Registry.getRegistry().unregisterComponent(oname); +log.info(unregistering + oname); +} catch( Throwable t ) { +log.error(Error unregistering , t ); +} +} + // Notify our interested LifecycleListeners lifecycle.fireLifecycleEvent(AFTER_STOP_EVENT, null); @@ -1667,11 +1677,11 @@ host=context.getParent(); servlet=container; } -if( host!=null ) suffix.append(,host=).append( host.getName() ); if( context!=null ) { String path=((StandardContext)context).getPath(); -suffix.append(,path=).append((path==) ? / : path); +suffix.append(,path=).append((path.equals()) ? / : path); } +if( host!=null ) suffix.append(,host=).append( host.getName() ); if( servlet != null ) { String name=container.getName(); suffix.append(,servlet=); 1.6 +7 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardPipeline.java Index: StandardPipeline.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardPipeline.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- StandardPipeline.java 26 Mar 2003 19:20:29 - 1.5 +++ StandardPipeline.java 27 Mar 2003 03:06:39 - 1.6 @@ -486,6 +486,8 @@ results[valves.length] = valve; valves = results; } +// register the newly added valve +registerValve(valve); } @@ -601,6 +603,8 @@ log.error(StandardPipeline.removeValve: stop: , e); } } +// unregister the removed valave +unregisterValve(valve); } 1.5 +14 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardService.java Index: StandardService.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardService.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- StandardService.java 21 Mar 2003 08:16:20 - 1.4 +++ StandardService.java 27 Mar 2003 03:06:39 - 1.5 @@ -582,6 +582,16 @@ } } } + +// unregister this service +if( oname!=null ) { +try { +Registry.getRegistry().unregisterComponent(oname); +log.info(unregistering + oname); +} catch (Exception e) { +log.error(Error unregistering ,e); +} +} // Notify our interested LifecycleListeners lifecycle.fireLifecycleEvent(AFTER_STOP_EVENT, null); 1.2 +9 -51 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/logger/FileLogger.java Index: FileLogger.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/logger/FileLogger.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- FileLogger.java 18 Jul 2002
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
costin 2003/03/20 08:01:34 Modified:catalina/src/share/org/apache/catalina/valves ValveBase.java Log: add object name attribute Revision ChangesPath 1.5 +22 -8 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java Index: ValveBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ValveBase.java17 Mar 2003 07:43:49 - 1.4 +++ ValveBase.java20 Mar 2003 16:01:33 - 1.5 @@ -83,6 +83,7 @@ import org.apache.catalina.Service; import org.apache.catalina.Host; import org.apache.catalina.Context; +import org.apache.catalina.Wrapper; import org.apache.catalina.core.ContainerBase; import org.apache.catalina.util.StringManager; import org.apache.commons.logging.Log; @@ -222,6 +223,10 @@ return oname; } +public void setObjectName(ObjectName oname) { +this.oname = oname; +} + public String getDomain() { return domain; } @@ -279,13 +284,22 @@ } else if (container instanceof Host) { parentName=,host= +container.getName(); } else if (container instanceof Context) { -String path = ((Context)container).getPath(); +String path = ((Context)container).getPath(); +if (path.length() 1) { +path = /; +} +Host host = (Host) container.getParent(); +parentName=,path= + path + ,host= + +host.getName(); +} else if (container instanceof Wrapper) { +Context ctx = (Context) container.getParent(); +String path = ctx.getPath(); if (path.length() 1) { path = /; } -Host host = (Host) container.getParent(); -parentName=,path= + path + ,host= + -host.getName(); +Host host = (Host) ctx.getParent(); +parentName=,servlet= + container.getName() + +,path= + path + ,host= + host.getName(); } log.info(valve parent= + parentName + + parent); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
costin 2003/03/16 23:43:49 Modified:catalina/src/share/org/apache/catalina/valves ValveBase.java Log: Registration magic Revision ChangesPath 1.4 +26 -13 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java Index: ValveBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ValveBase.java8 Mar 2003 07:02:56 - 1.3 +++ ValveBase.java17 Mar 2003 07:43:49 - 1.4 @@ -85,6 +85,8 @@ import org.apache.catalina.Context; import org.apache.catalina.core.ContainerBase; import org.apache.catalina.util.StringManager; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; /** @@ -100,7 +102,7 @@ public abstract class ValveBase implements Contained, Valve, MBeanRegistration { - +private static Log log = LogFactory.getLog(ValveBase.class); //-- Instance Variables @@ -214,6 +216,7 @@ protected String domain; protected ObjectName oname; protected MBeanServer mserver; +protected ObjectName controller; public ObjectName getObjectName() { return oname; @@ -242,6 +245,14 @@ public void postDeregister() { } +public ObjectName getController() { +return controller; +} + +public void setController(ObjectName controller) { +this.controller = controller; +} + /** From the name, extract the parent object name * * @param valveName @@ -265,22 +276,18 @@ /* Compute the parent name part */ String parentName=; if (container instanceof Engine) { -Service service = ((Engine)container).getService(); -parentName=,service= + service.getName(); } else if (container instanceof Host) { -Service service = ((Engine)container.getParent()).getService(); -parentName=,host= +container.getName() + ,service= + -service.getName(); +parentName=,host= +container.getName(); } else if (container instanceof Context) { String path = ((Context)container).getPath(); if (path.length() 1) { path = /; } Host host = (Host) container.getParent(); -Service service = ((Engine) host.getParent()).getService(); parentName=,path= + path + ,host= + -host.getName() + ,service= + service.getName(); +host.getName(); } +log.info(valve parent= + parentName + + parent); String className=this.getClass().getName(); int period = className.lastIndexOf('.'); @@ -293,6 +300,7 @@ if( valves[i]!=null valves[i].getClass() == this.getClass() valves[i] != this ) { +log.info(Duplicate + valves[i] + + this + + container); seq++; } } @@ -301,8 +309,13 @@ ext=,seq= + seq; } -return new ObjectName( domain + :type=Valve,name= + className + ext); +return new ObjectName( domain + :type=Valve,name= + className + ext + parentName); } +// JMX data +public ObjectName getContainerName() { +if( container== null) return null; +return ((ContainerBase)container).getObjectName(); +} } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves ValveBase.java
costin 2003/01/20 16:42:42 Modified:catalina/src/share/org/apache/catalina/valves ValveBase.java Log: Let the mbean know its name. Revision ChangesPath 1.2 +38 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java Index: ValveBase.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/valves/ValveBase.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ValveBase.java18 Jul 2002 16:47:42 - 1.1 +++ ValveBase.java21 Jan 2003 00:42:42 - 1.2 @@ -67,6 +67,10 @@ import java.io.IOException; import javax.servlet.ServletException; +import javax.management.ObjectName; +import javax.management.MBeanRegistration; +import javax.management.MBeanServer; + import org.apache.catalina.Contained; import org.apache.catalina.Container; import org.apache.catalina.Request; @@ -88,7 +92,7 @@ */ public abstract class ValveBase -implements Contained, Valve { +implements Contained, Valve, MBeanRegistration { //-- Instance Variables @@ -199,5 +203,34 @@ ValveContext context) throws IOException, ServletException; +// JMX and Registration +protected String domain; +protected ObjectName oname; +protected MBeanServer mserver; + +public ObjectName getObjectName() { +return oname; +} + +public String getDomain() { +return domain; +} + +public ObjectName preRegister(MBeanServer server, + ObjectName name) throws Exception { +oname=name; +mserver=server; +domain=name.getDomain(); +return name; +} + +public void postRegister(Boolean registrationDone) { +} + +public void preDeregister() throws Exception { +} + +public void postDeregister() { +} } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]