org.apache.openjpa.slice
Interface DistributionPolicy
- All Known Implementing Classes:
- DistributionPolicy.Default
public interface DistributionPolicy
Policy to select one of the physical databases referred as slice
in which a given persistent instance will be stored.
The user application is required to implement this interface. Slice will
invoke the single method of this interface to determine the target slice for
a newly persistent or a detached instance being merged.
- Author:
- Pinaki Poddar
Nested Class Summary |
static class |
DistributionPolicy.Default
Implements a default distribution policy to store the given
instance to a randomly selected available slice. |
Method Summary |
String |
distribute(Object pc,
List<String> slices,
Object context)
Gets the name of the target slice where the given newly persistent or
the detached, to-be-merged instance will be stored. |
distribute
String distribute(Object pc,
List<String> slices,
Object context)
- Gets the name of the target slice where the given newly persistent or
the detached, to-be-merged instance will be stored.
If the current state of the given instance is sufficient to determine
the target slice, return null. In that case, the runtime will callback
this method again before the instance being flushed to the datastore.
By then, the policy must be able to determine the target slice.
- Parameters:
pc
- The newly persistent or to-be-merged object.slices
- list of names of the active slices. The ordering of
the list is either explicit openjpa.slice.Names
property
or implicit i.e. alphabetic order of available identifiers if
openjpa.slice.Names
is unspecified.context
- the generic persistence context managing the given
instance.
- Returns:
- identifier of the slice. This name must match one of the
given slice names.
- See Also:
DistributedConfiguration.getActiveSliceNames()
Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.