The current handling of persistence managers is a little bit fragile and not really deterministic.
I propose the following enhancements:
- Persistence managers can be registered with a "name" service property. The FilePersistenceManager gets a name, e.g. "file"
- we add a new framework property configuration - if that's empty or not there, CM acts as today
- if a value is configured, it's interpreted as a comma separated list of names. This list of names makes up the PMs to be used by the implementation. All of them must be registered and only these are used.
- the PMs are used in the order they are specified in the list
With this we have deterministic behaviour and full control while the default ootb behaviour is still maintained.