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.
 

Method Detail

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.

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-2010 Apache Software Foundation. All Rights Reserved.