I did some reading and thinking on the plane to and from Virginia; when I get a chance, I have some good ideas about how to integrate HiveMind and JMX, to support things like:
- Representing the MBeanServer instance as a HiveMind service
- Representing standard MBeans as HiveMind services (using the MBean interface as the service interface)
- Creating a performance monitoring interceptor that records invocation counts and times in an MBean
I've also been thinking of extending some of the event notifications inside HiveMind (thread cleanup and registry shutdown, specifically) to provide "levels" used to provide a coarse level of invocation order. This would be an intermediate step towards real dependency tracking. For instance, during a registry shutdown, I'd like the following order to apply:
- Disable all configuration item list proxies and discard configuration items
- Disable all service proxies
- Cleanup all services
public void addRegistryShutdownListener(int level, RegistryShutdownListener l);
Something similar would be good for thread cleanup; I'd like to temporarily disable the threaded and pooled service proxies, invoke the cleanup method on the service implementations, then re-enable the proxies.
No comments:
Post a Comment