Costin Manolache wrote:
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]



Reply via email to