A PersistentService modularises the access to persistent services, abstracting out details such as finding the list of services to be started at boot time, finding the service.properties file and creating and deleting the persistent storage for a service.
These modules must only be used by the monitor.
Possible examples of implementations are:
- Store services in a directory in the file system.
- Store services in a zip file
- Service data is provided by a web server
- Service data is stored on the class path.
This class also serves as the registry the defined name for all the implementations of PersistentService. These need to be kept track of as they can be used in JDBC URLS.
An implementation of PersistentService can implement ModuleSupportable but must not implement ModuleControl. This is because the monitor will not execute ModuleControl methods for a PersistentService.