Not as major as the build breakage, I hope - but I think it is better to do it as soon as possible.
Unless someone has good reasons not to do it, I'll start refactoring the JMX registration. There are few things I would like to do:
- get rid of "service=XXX" in names. The JMX domain will correspond to one tomcat instance - there is no reason to make things more complex. The admin can just list all mbeans, search for "*:type=Engine" and get the domain.
Ok, so that goes along with having only a one unique ID for engine/service/etc.
- The name of the Engine will be the same as the domain: foo:type=Engine will have a name attribute with value "foo".
Ok.
- 2 major modes will be supported: JMX driven and API driven.
In the first mode, tomcat will be controlled using JMX. Each component
will use "preRegister" hook to learn it's name, and init() to register
itself with the parent. For example, a Valve mbean with name: domain:type=Valve,host=myHost,name=valveName
will know from the name that it must attach to host myHost in domain.
The second mode tomcat will be created the old way, by using the internal APIs. The ServerLifecycleListener will be gradually removed - each component must be in control of its naming. There are 2 cases: - components that have lifecycle ( Container, Connector ) will check in init() if they already have a name. If not - they'll do the register themself. - all other components can be registered by the parent ( Valves, etc ).
- the big mbeans-descriptors will be split up and each package will have an mbeans-descriptors describing its own components. Modeler can auto-discover it when registerComponent() is called, and that works for everything.
Sounds very good :)
I think this should be done now - or never.
The main purpose is to have smarter and more flexible components, capable to support reloading, reconfiguration and work in any environment.
Please don't try to port that to 4.1.x ;-)
Remy
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]