>As for the service reloading, I'm not sure how you plan to do
>this.  Let's say I unload a ClassPathExtension ("CPE"), upon which every
>service depends (since we want the CPEs to be loaded *first*).  Now all
>services are unloaded.  I change the directory/JAR for the
>ClassPathExtension, and then reload it.  Now what gets reloaded?  At least
>one of you seemed to consider it simplistic to assume that the contents of
>the conf file were accurate once the server is running (who knows what was
>started or stopped in the mean time?).  So what do you reload?  Or do you
>have to reload everything manually?  You don't want to just reload from
>the file anyway, since it clearly had a bad CPE entry, and if you reread
>the file (loaded everything again) and then unloaded the bad CPE entry
>again it would re-unload all the services.  Aargh!



  I'm not sure if this is in JMX, but one concept that fits this is to split
dependencies into categories. There are 3 that come to mind:

1) Start dependency  - MBean A cannot start unless MBean B is running
2) Stop dependency   - MBean A cannot stop/unload unless MBean B is
stopped/unloaded
3) Fail dependency   - MBean A is considered 'failed' if MBean B is 'failed'


Inside the 'relationship service' the type of dependency should be
configurable and allow a combination of the above 3 to be configured.

This way if you wanted to change something at the root of the dependency
tree, then only MBeans that had a stop/fail dependency on this MBean would
go down.

regards,

-Rob


Reply via email to