> -----Original Message----- > From: Richard O. Hammer [mailto:[EMAIL PROTECTED] > Sent: 26 June 2003 20:29 > To: James Developers List > Subject: Re: Dynamic Reconfiguration > > > Steve Brewin wrote: > > Noel, > > > > A few days back we touched on the desirability of being > able to reconfigure > > James on the fly. ... > > It seems to me dynamic reconfiguration can be achieved with fairly > run-of-the-mill Java, without needing Avalon, XML, or JMX.
Of course you are correct. Avalon, XML and JMX are all written in Java and elements of that functionality can be duplicated in Java too, as your code sample ably demonstrates. There are questions of responsibilities, avoiding code duplication and managability. Avalon frameworks manage the core tasks and should ideally manage the reconfiguration of those tasks. Achieving this means that all Avalon components benefit from these advances. The configuration file, config.xml, is essentially a persistent store for the configuration parameters. As it is XML based we may as well go with it. We may well want to expose the parsed parameters as Java objects through some kind of interface. Probably James would use the Java objects as its configuration source and perist any changes to the Java objects by updating config.xml. We could build a home grown interface to expose the configuration parameters and write a user interface to manipulate them, but why bother? JMX is specifically designed for this. There are JMX aware management tools that can be used and JMX bridges to SNMP allowing industry standard management tools to control JMX enabled applications. Using JMX integrates James into the management frameworks used by medium to enterprise class organisations. A major tick mark to have in advancing the widespread adoption of James. So yes, we could add some levels of dynamic reconfiguration with a bespoke approach, but in my view there is real value in leveraging industry standard solutions. -- Steve --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]