Class RangePartitioningPolicy
- java.lang.Object
- 
- org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
- 
- org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicy
- 
- org.eclipse.persistence.descriptors.partitioning.RangePartitioningPolicy
 
 
 
- 
- All Implemented Interfaces:
- java.io.Serializable
 
 public class RangePartitioningPolicy extends FieldPartitioningPolicy PUBLIC: RangePartitioningPolicy partitions access to a database cluster by a field value from the object, such as the object's id, location, or tenant. Each server is assigned a range of values. All write or read request for object's with that value are sent to the server. If a query does not include the field as a parameter, then it can either be sent to all server's and unioned, or left to the sesion's default behavior.- See Also:
- Serialized Form
- Author:
- James Sutherland
- Since:
- EclipseLink 2.2
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected java.util.List<RangePartition>partitions- 
Fields inherited from class org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicypartitionField, unionUnpartitionableQueries
 - 
Fields inherited from class org.eclipse.persistence.descriptors.partitioning.PartitioningPolicyname
 
- 
 - 
Constructor SummaryConstructors Constructor Description RangePartitioningPolicy()RangePartitioningPolicy(java.lang.String partitionField)RangePartitioningPolicy(java.lang.String partitionField, boolean unionUnpartitionableQueries)RangePartitioningPolicy(java.lang.String partitionField, RangePartition... partitions)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPartition(java.lang.String connectionPool, java.lang.Comparable startValue, java.lang.Comparable endValue)PUBLIC: Add the range partition.voidaddPartition(RangePartition partition)PUBLIC: Add the range partition.voidconvertClassNamesToClasses(java.lang.ClassLoader classLoader)INTERNAL: Convert all the class-name-based settings to actual class-based settings.java.util.List<org.eclipse.persistence.internal.databaseaccess.Accessor>getConnectionsForQuery(org.eclipse.persistence.internal.sessions.AbstractSession session, DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord arguments)INTERNAL: Get a connection from one of the pools in a round robin rotation fashion.java.util.List<RangePartition>getPartitions()PUBLIC: Return the range partitions.voidpartitionPersist(org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.Object object, ClassDescriptor descriptor)INTERNAL: Allow for the persist call to assign the partition.voidsetPartitions(java.util.List<RangePartition> partitions)PUBLIC: Set the range partitions.- 
Methods inherited from class org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicyextractPartitionValueForPersist, getPartitionField, getPartitionFieldName, getUnionUnpartitionableQueries, setPartitionField, setPartitionField, setUnionUnpartitionableQueries
 - 
Methods inherited from class org.eclipse.persistence.descriptors.partitioning.PartitioningPolicyacquireAccessor, getAccessor, getName, initialize, setName
 
- 
 
- 
- 
- 
Field Detail- 
partitionsprotected java.util.List<RangePartition> partitions 
 
- 
 - 
Constructor Detail- 
RangePartitioningPolicypublic RangePartitioningPolicy() 
 - 
RangePartitioningPolicypublic RangePartitioningPolicy(java.lang.String partitionField) 
 - 
RangePartitioningPolicypublic RangePartitioningPolicy(java.lang.String partitionField, boolean unionUnpartitionableQueries)
 - 
RangePartitioningPolicypublic RangePartitioningPolicy(java.lang.String partitionField, RangePartition... partitions)
 
- 
 - 
Method Detail- 
convertClassNamesToClassespublic void convertClassNamesToClasses(java.lang.ClassLoader classLoader) INTERNAL: Convert all the class-name-based settings to actual class-based settings. This method is used when converting a project that has been built with class names to a project with classes.- Overrides:
- convertClassNamesToClassesin class- PartitioningPolicy
 
 - 
getPartitionspublic java.util.List<RangePartition> getPartitions() PUBLIC: Return the range partitions. Each partition represents a range of value to route to a connection pool. Range values should not overlap.
 - 
setPartitionspublic void setPartitions(java.util.List<RangePartition> partitions) PUBLIC: Set the range partitions. Each partition represents a range of value to route to a connection pool. Range values should not overlap.
 - 
addPartitionpublic void addPartition(java.lang.String connectionPool, java.lang.Comparable startValue, java.lang.Comparable endValue)PUBLIC: Add the range partition.
 - 
addPartitionpublic void addPartition(RangePartition partition) PUBLIC: Add the range partition.
 - 
getConnectionsForQuerypublic java.util.List<org.eclipse.persistence.internal.databaseaccess.Accessor> getConnectionsForQuery(org.eclipse.persistence.internal.sessions.AbstractSession session, DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractRecord arguments)INTERNAL: Get a connection from one of the pools in a round robin rotation fashion.- Specified by:
- getConnectionsForQueryin class- PartitioningPolicy
 
 - 
partitionPersistpublic void partitionPersist(org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.Object object, ClassDescriptor descriptor)INTERNAL: Allow for the persist call to assign the partition.- Overrides:
- partitionPersistin class- PartitioningPolicy
 
 
- 
 
-