Hi, This is a long post. I am developing a JMX based component to manage all major components in the hierarchy including Server, Service, Connector, Engine, Host, Contexts in a Catalina deployment. And I also want to develop a special Connector. The architecture of Catalina allows easy customization / extension. During the development, I found the following Catalina API enhancement can help the extension / customization of the components. Here are my two suggestions: 1) In the Lifecycle interface, it should include a method to check whether a component is started. public boolean isStart(); The above method should return true if the component is started. Without the above method, we cannot check if a component is started. And starting an already started component in the current implementation will throw a LifecycleException. This exception will cause confusion about the current state of the component to others (such as a management component). 2) Need logging support in other components - as stated in the STATUS.html. After browsing the source code of the current Logger implementation, I think it is not hard to use a Logger instance in the whole server deployment. Since the components in Catalina forms a tree rooted at a Server instance, and we can add a new Interface /** * The Interface can be implemented by a component * which use the Logger to log its messages */ public interface CatalinaComponent { /** get the parent component */ public CatalinaComponent getParentComponent(); /** set the parent component */ public void setParentComponent(CatalinaComponent comp); /** get the Logger - may be from its parent component */ public Logger getLogger(); /** set the Logger for this component and its child */ public void setLogger(); // the following method provides logging information */ public String getInfo(); public String getName(); public void setName(String name); } If we can implement this interface in all major Catalina Components - Server, Service, Connector, all levels of Containers (Engine, Host, Context, Wrapper) and some components used by the Containers (Mapper, Loader, Manager, etc.), we can provide a flexible logging mechanism: a) use only one Logger to log both the server related messages & application messages, or b) use one Logger to log the server related messages & another to log the application messages. BTW, it seems the implementation of Catalina do NOT use the verbosity levels defined in Logger. And then the implementation of Logger cannot use the verbosity to treat the log messages differently. Regards, Eric
begin:vcard n:Yung;Eric tel;work:+852 2164 8481 x-mozilla-html:TRUE org:media60X;R&D adr:;;;;;; version:2.1 email;internet:[EMAIL PROTECTED] title:Senior Development Specialist fn:Eric Yung end:vcard