You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2003/03/26 20:20:30 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core ContainerBase.java StandardPipeline.java
costin 2003/03/26 11:20:30
Modified: catalina/src/share/org/apache/catalina/core
ContainerBase.java StandardPipeline.java
Log:
Moved valve registration/unregistration to StandardPipeline, which seems a better
place ( since the pipeline manages the valves ).
I don't know why ContainerBase implements Pipeline instead of just delegating to one.
Revision Changes Path
1.16 +0 -44 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.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ContainerBase.java 24 Mar 2003 09:18:26 -0000 1.15
+++ ContainerBase.java 26 Mar 2003 19:20:29 -0000 1.16
@@ -1197,26 +1197,6 @@
}
}
}
- // If we are registered and the valve is not - create a default name
- Valve valves[]=getValves();
- for( int i=0; i<valves.length; i++ ) {
- Valve valve=valves[i];
- //log.info("Valve: " + this + " " + valve + " " + domain );
- if( valve instanceof ValveBase &&
- ((ValveBase)valve).getObjectName()==null ) {
- try {
- ObjectName vname=((ValveBase)valve).createObjectName(getDomain(),
- this.getObjectName());
- if( vname != null ) {
- ((ValveBase)valve).setObjectName(vname);
- Registry.getRegistry().registerComponent(valve, vname, valve.getClass().getName());
- ((ValveBase)valve).setController(oname);
- }
- } catch( Throwable t ) {
- log.info( "Can't register valve " + valve , t );
- }
- }
- }
// Notify our interested LifecycleListeners
lifecycle.fireLifecycleEvent(BEFORE_START_EVENT, null);
@@ -1342,16 +1322,6 @@
}
}
- //
- Valve valves[]=getValves();
- for( int i=0; i<valves.length; i++ ) {
- Valve valve=valves[i];
- if( valve instanceof ValveBase &&
- ((ValveBase)valve).getObjectName()!=null ) {
- Registry.getRegistry().unregisterComponent(((ValveBase)valve).getObjectName());
- }
- }
-
// Notify our interested LifecycleListeners
lifecycle.fireLifecycleEvent(AFTER_STOP_EVENT, null);
@@ -1468,21 +1438,7 @@
public synchronized void removeValve(Valve valve) {
pipeline.removeValve(valve);
- if( valve instanceof ValveBase ) {
- try {
- ValveBase vb=(ValveBase)valve;
- if( vb.getController()!=null &&
- vb.getController() == oname ) {
-
- ObjectName vname=vb.getObjectName();
- Registry.getRegistry().getMBeanServer().unregisterMBean(vname);
- }
- } catch( Throwable t ) {
- log.info( "Can't unregister valve " + valve , t );
- }
- }
fireContainerEvent(REMOVE_VALVE_EVENT, valve);
-
}
1.5 +47 -5 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- StandardPipeline.java 20 Mar 2003 18:28:28 -0000 1.4
+++ StandardPipeline.java 26 Mar 2003 19:20:29 -0000 1.5
@@ -286,9 +286,13 @@
for (int i = 0; i < valves.length; i++) {
if (valves[i] instanceof Lifecycle)
((Lifecycle) valves[i]).start();
+ registerValve(valves[i]);
}
if ((basic != null) && (basic instanceof Lifecycle))
((Lifecycle) basic).start();
+
+ if( basic!=null )
+ registerValve(basic);
// Notify our interested LifecycleListeners
lifecycle.fireLifecycleEvent(START_EVENT, null);
@@ -320,18 +324,56 @@
started = false;
// Stop the Valves in our pipeline (including the basic), if any
- if ((basic != null) && (basic instanceof Lifecycle))
+ if ((basic != null) && (basic instanceof Lifecycle))
((Lifecycle) basic).stop();
+ if( basic!=null ) {
+ unregisterValve(basic);
+ }
for (int i = 0; i < valves.length; i++) {
if (valves[i] instanceof Lifecycle)
((Lifecycle) valves[i]).stop();
+ unregisterValve(valves[i]);
+
}
// Notify our interested LifecycleListeners
lifecycle.fireLifecycleEvent(AFTER_STOP_EVENT, null);
-
}
+ private void registerValve(Valve valve) {
+ if( valve instanceof ValveBase &&
+ ((ValveBase)valve).getObjectName()==null ) {
+ try {
+ ObjectName vname=((ValveBase)valve).createObjectName(
+ ((ContainerBase)container).getDomain(),
+ ((ContainerBase)container).getObjectName());
+ if( vname != null ) {
+ ((ValveBase)valve).setObjectName(vname);
+ Registry.getRegistry().registerComponent(valve, vname, valve.getClass().getName());
+ ((ValveBase)valve).setController(((ContainerBase)container).getObjectName());
+ }
+ } catch( Throwable t ) {
+ log.info( "Can't register valve " + valve , t );
+ }
+ }
+ }
+
+ private void unregisterValve(Valve valve) {
+ if( valve instanceof ValveBase ) {
+ try {
+ ValveBase vb=(ValveBase)valve;
+ if( vb.getController()!=null &&
+ vb.getController() ==
+ ((ContainerBase)container).getObjectName() ) {
+
+ ObjectName vname=vb.getObjectName();
+ Registry.getRegistry().getMBeanServer().unregisterMBean(vname);
+ }
+ } catch( Throwable t ) {
+ log.info( "Can't unregister valve " + valve , t );
+ }
+ }
+ }
// ------------------------------------------------------- Pipeline Methods
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org