Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

E28847-01


org.eclipse.persistence.descriptors.partitioning
Class RangePartitioningPolicy

java.lang.Object
  extended by org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
      extended by org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicy
          extended by 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

Field Summary
protected  java.util.List<RangePartition> partitions
           

 

Fields inherited from class org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicy
partitionField, unionUnpartitionableQueries

 

Fields inherited from class org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
name

 

Constructor Summary
RangePartitioningPolicy()
           
RangePartitioningPolicy(java.lang.String partitionField)
           
RangePartitioningPolicy(java.lang.String partitionField, boolean unionUnpartitionableQueries)
           
RangePartitioningPolicy(java.lang.String partitionField, RangePartition... partitions)
           

 

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 org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicy
extractPartitionValueForPersist, getPartitionField, getPartitionFieldName, getUnionUnpartitionableQueries, setPartitionField, setPartitionField, setUnionUnpartitionableQueries

 

Methods inherited from class org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
acquireAccessor, convertClassNamesToClasses, getAccessor, getName, initialize, setName

 

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

 

Field Detail

partitions

protected java.util.List<RangePartition> partitions

Constructor Detail

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)

Method Detail

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

Copyright © 1998, 2012, Oracle. All Rights Reserved.