Skip navigation links
org.eclipse.persistence.descriptors.partitioning
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.
- Since:
- EclipseLink 2.2
- Author:
- James Sutherland
- See Also:
- Serialized Form
Method Summary |
void |
addPartition(RangePartition partition)
PUBLIC: Add the range partition. |
void |
addPartition(java.lang.String connectionPool, java.lang.Comparable startValue, java.lang.Comparable endValue)
PUBLIC: Add the range partition. |
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. |
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. |
void |
setPartitions(java.util.List<RangePartition> partitions)
PUBLIC: Set the range partitions. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
partitions
protected java.util.List<RangePartition> partitions
RangePartitioningPolicy
public RangePartitioningPolicy()
RangePartitioningPolicy
public RangePartitioningPolicy(java.lang.String partitionField)
RangePartitioningPolicy
public RangePartitioningPolicy(java.lang.String partitionField,
boolean unionUnpartitionableQueries)
RangePartitioningPolicy
public RangePartitioningPolicy(java.lang.String partitionField,
RangePartition... partitions)
getPartitions
public 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.
setPartitions
public 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.
addPartition
public void addPartition(java.lang.String connectionPool,
java.lang.Comparable startValue,
java.lang.Comparable endValue)
- PUBLIC: Add the range partition.
addPartition
public void addPartition(RangePartition partition)
- PUBLIC: Add the range partition.
getConnectionsForQuery
public 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:
getConnectionsForQuery
in class PartitioningPolicy
partitionPersist
public 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:
partitionPersist
in class PartitioningPolicy
Skip navigation links