Class UnionPartitioningPolicy

All Implemented Interfaces:
Serializable

public class UnionPartitioningPolicy extends ReplicationPartitioningPolicy
PUBLIC: UnionPartitionPolicy sends queries to all connection pools and unions the results. This is for queries or relationships that span partitions when partitioning is used, such as on a ManyToMany cross partition relationship.
See Also:
Author:
James Sutherland
  • Field Details

    • replicateWrites

      protected boolean replicateWrites
  • Constructor Details

    • UnionPartitioningPolicy

      public UnionPartitioningPolicy()
    • UnionPartitioningPolicy

      public UnionPartitioningPolicy(boolean replicateWrites)
    • UnionPartitioningPolicy

      public UnionPartitioningPolicy(String... pools)
    • UnionPartitioningPolicy

      public UnionPartitioningPolicy(List<String> pools)
  • Method Details

    • getReplicateWrites

      public boolean getReplicateWrites()
      PUBLIC: Return if write queries should be replicated. Writes are normally not replicated when unioning, but can be for ManyToMany relationships, when the join table needs to be replicated.
    • setReplicateWrites

      public void setReplicateWrites(boolean replicateWrites)
      PUBLIC: Set if write queries should be replicated. Writes are normally not replicated when unioning, but can be for ManyToMany relationships, when the join table needs to be replicated.
    • getConnectionsForQuery

      public 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.
      Overrides:
      getConnectionsForQuery in class ReplicationPartitioningPolicy