Class TCPRemoteCommitProvider

java.lang.Object
org.apache.openjpa.event.AbstractRemoteCommitProvider
org.apache.openjpa.event.TCPRemoteCommitProvider
All Implemented Interfaces:
RemoteCommitProvider, Configurable, Closeable
Direct Known Subclasses:
DynamicTCPRemoteCommitProvider

public class TCPRemoteCommitProvider extends AbstractRemoteCommitProvider implements Configurable
TCP-based implementation of RemoteCommitProvider that listens for object modifications and propagates those changes to other RemoteCommitProviders over TCP sockets.
Since:
0.2.5.0
Author:
Brian Leair, Patrick Linskey
  • Field Details

  • Constructor Details

  • Method Details

    • getPort

      public int getPort()
      Returns:
      the port that this provider should listen on.
    • setPort

      public void setPort(int port)
      Set the port that this provider should listen on. Set once only.
      Parameters:
      port - the port that this provider should listen on
    • setRecoveryTimeMillis

      public void setRecoveryTimeMillis(int recoverytime)
      Set the number of milliseconds to wait before retrying to reconnect to a peer after it becomes unreachable.
      Parameters:
      recoverytime - the number of milliseconds to wait before retrying to reconnect to a peer after it becomes unreachable
    • getRecoveryTimeMillis

      public int getRecoveryTimeMillis()
      Returns:
      the number of milliseconds to wait before retrying to reconnect to a peer after it becomes unreachable.
    • setMaxActive

      @Deprecated public void setMaxActive(int maxActive)
      Deprecated.
      Set the maximum number of sockets that this provider can simultaneously open to each peer in the cluster.
      Parameters:
      maxActive - the maximum total number of sockets that this provider can simultaneously open to each peer in the cluster. * @deprecated please use setMaxTotal(int) instead
    • setMaxTotal

      public void setMaxTotal(int maxTotal)
      Set the maximum total number of sockets that this provider can simultaneously open to each peer in the cluster.
      Parameters:
      maxTotal - the maximum total number of sockets that this provider can simultaneously open to each peer in the cluster.
    • getMaxTotal

      public int getMaxTotal()
      Returns:
      the maximum number of sockets that this provider can simultaneously open to each peer in the cluster.
    • setMaxIdle

      public void setMaxIdle(int maxIdle)
      Set the number of idle sockets that this provider can keep open to each peer in the cluster.
      Parameters:
      maxIdle - the number of idle sockets that this provider can keep open to each peer in the cluster
    • getMaxIdle

      public int getMaxIdle()
      Returns:
      the number of idle sockets that this provider can keep open to each peer in the cluster.
    • setNumBroadcastThreads

      public void setNumBroadcastThreads(int numBroadcastThreads)
      Set the number of worker threads that are used for transmitting packets to peers in the cluster.
      Parameters:
      numBroadcastThreads - the number of worker threads that are used for transmitting packets to peers in the cluster
    • getNumBroadcastThreads

      public int getNumBroadcastThreads()
      Returns:
      the number of worker threads that are used for transmitting packets to peers in the cluster.
    • setAddresses

      public void setAddresses(String names) throws UnknownHostException
      Sets the list of addresses of peers to which this provider will send events to. The peers are semicolon-separated names list in the form of "myhost1:portA;myhost2:portB".
      Parameters:
      names - the list of addresses of peers to which this provider will send events to
      Throws:
      UnknownHostException - in case peer name cannot be resolved
    • endConfiguration

      public void endConfiguration()
      Subclasses that need to perform actions in Configurable.endConfiguration() must invoke this method.
      Specified by:
      endConfiguration in interface Configurable
      Overrides:
      endConfiguration in class AbstractRemoteCommitProvider
    • broadcast

      public void broadcast(RemoteCommitEvent event)
      Description copied from interface: RemoteCommitProvider
      Notifies other remote event managers in this JVM and on other machines of changes to the cache. This method must not notify the event manager associated with the broker that originated this commit.
      Specified by:
      broadcast in interface RemoteCommitProvider
    • close

      public void close()
      Description copied from interface: RemoteCommitProvider
      Free the resources used by this provider.
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface RemoteCommitProvider