EclipseLink 2.3.2, build 'v20111125-r10461' API Reference

org.eclipse.persistence.descriptors.partitioning
Class ReplicationPartitioningPolicy

java.lang.Object
  extended by org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
      extended by org.eclipse.persistence.descriptors.partitioning.ReplicationPartitioningPolicy
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
RoundRobinPartitioningPolicy, UnionPartitioningPolicy

public class ReplicationPartitioningPolicy
extends PartitioningPolicy

PUBLIC: ReplicationPartitioningPolicy sends requests to a set of connection pools. It is for replicating data across a cluster of database machines. Only modification queries are replicated.

See Also:
Serialized Form
Author:
James Sutherland
Since:
EclipseLink 2.2

Field Summary
protected  java.util.List<java.lang.String> connectionPools
           
 
Fields inherited from class org.eclipse.persistence.descriptors.partitioning.PartitioningPolicy
name
 
Constructor Summary
ReplicationPartitioningPolicy()
           
ReplicationPartitioningPolicy(java.util.List<java.lang.String> pools)
           
ReplicationPartitioningPolicy(java.lang.String... pools)
           
 
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 each pool.
 void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Default the connection pools to all pools if unset.
 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.PartitioningPolicy
acquireAccessor, convertClassNamesToClasses, getAccessor, getName, partitionPersist, setName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connectionPools

protected java.util.List<java.lang.String> connectionPools
Constructor Detail

ReplicationPartitioningPolicy

public ReplicationPartitioningPolicy()

ReplicationPartitioningPolicy

public ReplicationPartitioningPolicy(java.lang.String... pools)

ReplicationPartitioningPolicy

public ReplicationPartitioningPolicy(java.util.List<java.lang.String> pools)
Method Detail

initialize

public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Default the connection pools to all pools if unset.

Overrides:
initialize in class PartitioningPolicy

getConnectionPools

public java.util.List<java.lang.String> getConnectionPools()
PUBLIC: Return the list of connection pool names to replicate queries to.


setConnectionPools

public void setConnectionPools(java.util.List<java.lang.String> connectionPools)
PUBLIC: Set the list of connection pool names to replicate queries to. A connection pool with the same name must be defined on the ServerSession.


addConnectionPool

public void addConnectionPool(java.lang.String connectionPool)
PUBLIC: Add the connection pool name to the list of pools to rotate queries through.


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 each pool.

Specified by:
getConnectionsForQuery in class PartitioningPolicy

EclipseLink 2.3.2, build 'v20111125-r10461' API Reference