I'm needing to be able to capture the state (the registered services) from a started ServiceRegistry to allow for faster re-starts when the configuration doesn't change. This is to support experiments with improved suspend/resume operations from external tools and integrators. We've identified a combination of needs to achieve this:
- refine the semantics of SessionFactoryServiceRegistryImpl#destroy to really clear all of its cached state
- a resetAndReactivate() method to be introduced on StandardServiceRegistryImpl
- to expose methods to similarly clear/reset the tree of registries (the parent)
- to add some additional accessors to MetadataImpl so to be able to create copies of it
- improve synchronization details on BootstrapServiceRegistryImpl to make it suitable for the new use case
None of this will be public API (nor SPI) at this stage: early prototype, yet need to merge such functionality to allow continuing the exploration of the external tools. |