Package org.apache.openjpa.slice
Class DistributionPolicy.Default
- java.lang.Object
-
- org.apache.openjpa.slice.DistributionPolicy.Default
-
- All Implemented Interfaces:
DistributionPolicy
- Enclosing interface:
- DistributionPolicy
public static class DistributionPolicy.Default extends java.lang.Object implements DistributionPolicy
Implements a default distribution policy to store the given instance to a randomly selected available slice.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.openjpa.slice.DistributionPolicy
DistributionPolicy.Default
-
-
Constructor Summary
Constructors Constructor Description Default()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
distribute(java.lang.Object pc, java.util.List<java.lang.String> slices, java.lang.Object ctx)
Gets the name of the target slice where the given newly persistent or the detached, to-be-merged instance will be stored.
-
-
-
Method Detail
-
distribute
public java.lang.String distribute(java.lang.Object pc, java.util.List<java.lang.String> slices, java.lang.Object ctx)
Description copied from interface:DistributionPolicy
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.- Specified by:
distribute
in interfaceDistributionPolicy
- 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 explicitopenjpa.slice.Names
property or implicit i.e. alphabetic order of available identifiers ifopenjpa.slice.Names
is unspecified.ctx
- 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()
-
-