AmbitiousTransparentPersistence

This is a rough rendering of a page from the old Prevayler wiki. Please see the new wiki for current documentation.

ObjectPrevalence is extremely simple and provides TransparentPersistence only for what matters: BusinessObjects.

Some ambitious projects like PJama, though, are working to provide TransparentPersistence for the entire system, for all objects.

The main problems with this are:
- It is very difficult to generate a consistent state snapshot with multiple threads running and potentially accessing the same variables.
- It is very costly to run and complex to implement.
- It requires the rewriting of the whole runtime environment or virtual machine.
- It has trouble persisting objects that wouldn't make sense after a system crash anyway, such as: file handles, sockets, GUI widgets, etc.


See: DoesntTheSystemHaveToStopInOrderToProduceAConsistentSnapshot?