Issue Details (XML | Word | Printable)

Key: NUCCORE-128
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Andy Jefferson
Reporter: Andy Jefferson
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
DataNucleus Core

DataFederation : Definition of datastores to use for federated PMF/EMF

Created: 10/Oct/08 02:31 PM   Updated: 01/Feb/11 08:35 PM   Resolved: 25/Jan/11 02:51 PM
Component/s: Datastore Support
Affects Version/s: None
Fix Version/s: 3.0.0.m1

Issue Links:
Depend
 


 Description  « Hide
Provide a mechanism for defining the datastores to be supported for a created PMF/EMF. This should be by way of a persistence property defining an XML configuration file. The XML config file could define, for example, multiple persistence-units and hence multiple datastores. This would keep things simple and use an existing persistence file.

Sort Order: Ascending order - Click to sort in descending order
Andy Jefferson added a comment - 27/Jan/10 07:32 PM
Persistence properties need splitting into 2 groups :-

1. Properties controlling overall persistence. These will still be held by PersistenceConfiguration

2. Properties controlling the datastore. These ought to be held by the StoreManager.

Having a split like this means that we can have an OMFContext-PersistenceConfiguration for overall persistence, and then define the specific datastore config under the StoreManager itself (since that ought to be the only place using those properties anyway).

Andy Jefferson added a comment - 21/Oct/10 09:41 AM
org.datanucleus.persistence_properties plugin-point now has an attribute for each property of "datastore" to define if it is to be stored in the datastore. Still need to write the code to make use of that

Andy Jefferson added a comment - 25/Oct/10 08:23 AM
PersistenceConfiguration can now be reused and hung off the StoreManager

Andy Jefferson added a comment - 19/Dec/10 03:51 PM
StoreManager now handles properties for the store.

An option for how to specify multiple datastores per PMF/EMF
datanucleus.datastore.{name1}=datanucleus1.properties
datanucleus.datastore.{name2}=datanucleus2.properties

so when the PMF is created and finds that property it can load the properties for the datastore when creating the respective StoreManager. With it you also have a nominal name for the datastore; this can then be used when defining what class gets persisted in which datastore.

Andy Jefferson added a comment - 24/Jan/11 03:12 PM
PMF needs access to (some of) the *primary* datastore persistence properties (in its getXXX methods). Consequently the PersistenceConfiguration should contain the properties for the primary, and then any secondary datastores will store all of their own datastore-level properties.

Andy Jefferson added a comment - 25/Jan/11 02:51 PM
User can now define federated datastores by providing a single persistence-unit, and then having properties
datanucleus.datastore.{name1}={propfilename1}
datanucleus.datastore.{name2}={propfilename2}
and these define the secondary datastores. Thereafter the "name" can be used in the metadata for each class when deciding where to store them. Further configuration to be added in subsequent JIRAs