Class PartitioningPolicy
- java.lang.Object
-
- org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
-
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
CustomPartitioningPolicy
,FieldPartitioningPolicy
,PinnedPartitioningPolicy
,ReplicationPartitioningPolicy
public abstract class PartitioningPolicy extends Object implements Serializable
PUBLIC: A PartitioningPolicy is used to partition the data for a class across multiple difference databases or across a database cluster such as Oracle RAC. Partitioning can provide improved scalability by allowing multiple database machines to service requests.If multiple partitions are used to process a single transaction, JTA should be used for proper XA transaction support.
- Since:
- EclipseLink 2.2
- Author:
- James Sutherland
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description PartitioningPolicy()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Accessor
acquireAccessor(String poolName, ServerSession session, DatabaseQuery query, boolean returnNullIfDead)
INTERNAL: Return an accessor from the pool.void
convertClassNamesToClasses(ClassLoader classLoader)
INTERNAL: Convert all the class-name-based settings to actual class-based settings.Accessor
getAccessor(String poolName, AbstractSession session, DatabaseQuery query, boolean returnNullIfDead)
INTERNAL: Return an accessor from the pool for the session.abstract List<Accessor>
getConnectionsForQuery(AbstractSession session, DatabaseQuery query, AbstractRecord arguments)
String
getName()
PUBLIC: Return the name of the policy.void
initialize(AbstractSession session)
INTERNAL: Initialize the policy.void
partitionPersist(AbstractSession session, Object object, ClassDescriptor descriptor)
INTERNAL: Allow for the persist call to assign the partition.void
setName(String name)
PUBLIC: Set the name of the policy.
-
-
-
Field Detail
-
name
protected String name
The persistent unit unique name for the policy.
-
-
Method Detail
-
getConnectionsForQuery
public abstract List<Accessor> getConnectionsForQuery(AbstractSession session, DatabaseQuery query, AbstractRecord arguments)
-
partitionPersist
public void partitionPersist(AbstractSession session, Object object, ClassDescriptor descriptor)
INTERNAL: Allow for the persist call to assign the partition.
-
initialize
public void initialize(AbstractSession session)
INTERNAL: Initialize the policy.
-
convertClassNamesToClasses
public void convertClassNamesToClasses(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.
-
acquireAccessor
public Accessor acquireAccessor(String poolName, ServerSession session, DatabaseQuery query, boolean returnNullIfDead)
INTERNAL: Return an accessor from the pool.
-
getAccessor
public Accessor getAccessor(String poolName, AbstractSession session, DatabaseQuery query, boolean returnNullIfDead)
INTERNAL: Return an accessor from the pool for the session. For a client session the accessor is stored for the duration of the transaction.
-
getName
public String getName()
PUBLIC: Return the name of the policy. The name must be unique for the persistence unit. The name allows the policy to be shared among multiple descriptors, queries.
-
setName
public void setName(String name)
PUBLIC: Set the name of the policy. The name must be unique for the persistence unit. The name allows the policy to be shared among multiple descriptors, queries.
-
-