Hi Mike,
Yeah, absolutely the idea is that the runtimes would be
switchable/pluggable.
So the current "default" runtime would continue, providing:
- IsisContext as a singleton for access to current session etc
- the Installer API as a means for wiring together the system
- the "Persistor" (PersistenceSessionFactory) API as an abstraction for
remoting vs persistence
- the ObjectStore API as an abstraction over persistence mechanisms
- long-lived cached ObjectAdapters that live in an identity map of
Oid/Pojo/ObjectAdapter
The new runtime would:
- use CDI (JSR-299) to do the wiring and dependency injection of
components (replacing IsisContext and Installer)
- not support the Persistor API (that is, no remoting support)
- would just use the DataNucleus APIs for ObjectStore API
- not support long-lived ObjectAdapters, but instead would instantiate
them as required (pulling information from the DataNucleus runtime or if
necessary requiring that the pojo take responsibility. In practical
terms this possibly means having an Id field in pojos).
Cheers
Dan
On 27/02/2011 22:58, Mike Burton wrote:
Hi Dan,
That would seem to make sense. My only concern is stability / continuity. Could
you make it switchable / pluggable so that we can mostly use the new runtime
but fall-back to old if necessary?
Best Regards
Mike
( iPhone)
On 27 Feb 2011, at 15:58, Dan Haywood<[email protected]> wrote: