I ended up cleaning up the JMX stuff a little so that there is a AbstractJMXManager that the two jmx imeplementations (Default and MX4J) extend. I also reworked the hierarchy slightly so that the top part (phoenix) is not present.
Can you download it and check it out to make sure I did everythying correctly? Anyways it looks much cleaner after applying path - yea! At 08:15 PM 7/13/2002 +1000, you wrote: >Hi, > >Fantastic. Just applpied the patch. I made some modificaitons, namely I >moved SubContext to being a top level class as I try to avoid inner >classes if possible. Other than that it works like a charm - thanks! It is >a much cleaner approach to separating out different layers of management. > >At 11:40 PM 7/12/2002 -0700, you wrote: > >>This patch implements the concept of a 'local' management context that >>objects are registered with. I think its better than spreading the JMX >>naming scheme in different parts of the code. The big change is the >>addition of the getSubContext() method to SystemManager. The contexts >>are organized into hierarchy like this: >> >>Phoenix >> Component List >> Component 1 >> Component 2 >> Application List >> Application 1 >> Block List >> Block 1 >> Block 2 >> Application 2 >> Block List >> Block 1 >> Block 2 >> >>JMX naming is then derived by 'walking' up to the top level context, >>which is the 'real' SystemManager. >> >>I've tested it with NoOpSystemManager and MX4JSystemManager and haven't >>encountered any problems. >> >>An itemized list of changes: >> >>org/apache/avalon/phoenix/interfaces/SystemManager.java >>- Added method getSubContext( String parent, String type ) to create a >>subcontext >> >>org/apache/avalon/phoenix/components/manager/MX4JSystemManager.java >>- Modified naming code slightly to be compatible with new scheme >> >>org/apache/avalon/phoenix/components/manager/AbstractSystemManager.java >>- Added inner class SubContext, which implements SystemManager and acts >>as the local context >> >>org/apache/avalon/phoenix/components/kernel/DefaultKernel.java >>- Changed so applications register with the 'application' list context >> >>org/apache/avalon/phoenix/components/kernel/DefaultApplicationContext.java >>- Changed so blocks register with the application's block list context >> >>org/apache/avalon/phoenix/components/embeddor/DefaultEmbeddor.java >>- Changed so components are registered with the component list context >> >>The diff was made with the cvs diff -u >> patch diff from the >>jakarta-avalon-phoenix/src/java directory. I hope this is right - or is >>it better to diff each class seperately? >> >>This is part of the Management Proposal idea i sent out last week. I >>think these are the only interfaces changes that are required and all the >>rest of the work would be isolated behind SystemManager interface. >> >>Please let me know what you think. >> >>- Huw >> >> >>-- >>To unsubscribe, >>e-mail: <mailto:[EMAIL PROTECTED]> >>For additional commands, e-mail: >><mailto:[EMAIL PROTECTED]> > >Cheers, > >Peter Donald >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >"Faced with the choice between changing one's mind, >and proving that there is no need to do so - almost >everyone gets busy on the proof." > - John Kenneth Galbraith >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > >-- >To unsubscribe, >e-mail: <mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: ><mailto:[EMAIL PROTECTED]> Cheers, Peter Donald ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "Faced with the choice between changing one's mind, and proving that there is no need to do so - almost everyone gets busy on the proof." - John Kenneth Galbraith ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
