|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
org.eclipse.persistence.descriptors.partitioning.FieldPartitioningPolicy
org.eclipse.persistence.descriptors.partitioning.HashPartitioningPolicy
public class HashPartitioningPolicy
PUBLIC: HashPartitioningPolicy partitions access to a database cluster by the hash of a field value from the object, such as the object's location, or tenant. The hash indexes into the list of connection pools. All write or read request for object's with that hash 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.
Field Summary | |
---|---|
protected java.util.List<java.lang.String> |
connectionPools
|
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 | |
---|---|
HashPartitioningPolicy()
|
|
HashPartitioningPolicy(java.lang.String partitionField)
|
|
HashPartitioningPolicy(java.lang.String partitionField,
boolean unionUnpartitionableQueries)
|
Method Summary | |
---|---|
void |
addConnectionPool(java.lang.String connectionPool)
PUBLIC: Add the connection pool name to the list of pools to rotate queries through. |
java.util.List<java.lang.String> |
getConnectionPools()
PUBLIC: Return the list of connection pool names to replicate queries to. |
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. |
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Default the connection pools to all pools if unset. |
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 |
setConnectionPools(java.util.List<java.lang.String> connectionPools)
PUBLIC: Set the list of connection pool names to replicate queries to. |
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, setName |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.List<java.lang.String> connectionPools
Constructor Detail |
---|
public HashPartitioningPolicy()
public HashPartitioningPolicy(java.lang.String partitionField)
public HashPartitioningPolicy(java.lang.String partitionField, boolean unionUnpartitionableQueries)
Method Detail |
---|
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
initialize
in class PartitioningPolicy
public java.util.List<java.lang.String> getConnectionPools()
public void setConnectionPools(java.util.List<java.lang.String> connectionPools)
public void addConnectionPool(java.lang.String connectionPool)
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)
getConnectionsForQuery
in class PartitioningPolicy
public void partitionPersist(org.eclipse.persistence.internal.sessions.AbstractSession session, java.lang.Object object, ClassDescriptor descriptor)
partitionPersist
in class PartitioningPolicy
|
EclipseLink 2.4.2, build 'v20130514-5956486' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |