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
See Also:
  • Field Details

    • name

      protected String name
      The persistent unit unique name for the policy.
  • Constructor Details

    • PartitioningPolicy

      protected PartitioningPolicy()
      Default constructor.
  • Method Details

    • 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.