Annotation Type RoundRobinPartitioning


@Target({TYPE,METHOD,FIELD}) @Retention(RUNTIME) public @interface RoundRobinPartitioning
RoundRobinPartitioning sends requests in a round robin fashion to the set of connection pools. It is for load-balancing read queries across a cluster of database machines. It requires that the full database be replicated on each machine, so does not support partitioning. The data should either be read-only, or writes should be replicated on the database.

Partitioning can be enabled on an Entity, relationship, query, or session/persistence unit. Partition policies are globally named to allow reuse, the partitioning policy must also be set using the @Partitioned annotation to be used.

See Also:
Author:
James Sutherland
  • Required Element Summary

    Required Elements
    Modifier and Type
    Required Element
    Description
    The name of the partition policy, names must be unique for the persistence unit.
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    List of connection pool names to load balance across.
    boolean
    This allows for a set of database to be written to and kept in synch, and have reads load-balanced across the databases.
  • Element Details

    • name

      String name
      The name of the partition policy, names must be unique for the persistence unit.
    • connectionPools

      String[] connectionPools
      List of connection pool names to load balance across. Defaults to all defined pools in the ServerSession.
      Default:
      {}
    • replicateWrites

      boolean replicateWrites
      This allows for a set of database to be written to and kept in synch, and have reads load-balanced across the databases.
      Default:
      false