org.apache.openjpa.event
Class TCPRemoteCommitProvider

java.lang.Object
  extended by org.apache.openjpa.event.AbstractRemoteCommitProvider
      extended by org.apache.openjpa.event.TCPRemoteCommitProvider
All Implemented Interfaces:
RemoteCommitProvider, Configurable, Closeable

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 Summary
 
Fields inherited from class org.apache.openjpa.event.AbstractRemoteCommitProvider
eventManager, log
 
Constructor Summary
TCPRemoteCommitProvider()
           
 
Method Summary
 void broadcast(RemoteCommitEvent event)
          Notifies other remote event managers in this JVM and on other machines of changes to the cache.
 void close()
          Free the resources used by this provider.
 void endConfiguration()
          Subclasses that need to perform actions in Configurable.endConfiguration() must invoke this method.
 int getMaxActive()
          The maximum number of sockets that this provider can simetaneously open to each peer in the cluster.
 int getMaxIdle()
          The number of idle sockets that this provider can keep open to each peer in the cluster.
 int getNumBroadcastThreads()
          The number of worker threads that are used for transmitting packets to peers in the cluster.
 int getPort()
          The port that this provider should listen on.
 int getRecoveryTimeMillis()
          The number of milliseconds to wait before retrying to reconnect to a peer after it becomes unreachable.
 void setAddresses(String names)
          Sets the list of addresses of peers to which this provider will send events to.
 void setMaxActive(int maxActive)
          The maximum number of sockets that this provider can simetaneously open to each peer in the cluster.
 void setMaxIdle(int maxIdle)
          The number of idle sockets that this provider can keep open to each peer in the cluster.
 void setNumBroadcastThreads(int numBroadcastThreads)
          The number of worker threads that are used for transmitting packets to peers in the cluster.
 void setPort(int port)
          The port that this provider should listen on.
 void setRecoveryTimeMillis(int recoverytime)
          The number of milliseconds to wait before retrying to reconnect to a peer after it becomes unreachable.
 
Methods inherited from class org.apache.openjpa.event.AbstractRemoteCommitProvider
fireEvent, setConfiguration, setRemoteCommitEventManager, startConfiguration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.openjpa.lib.conf.Configurable
setConfiguration, startConfiguration
 

Constructor Detail

TCPRemoteCommitProvider

public TCPRemoteCommitProvider()
                        throws UnknownHostException
Throws:
UnknownHostException
Method Detail

getPort

public int getPort()
The port that this provider should listen on.


setPort

public void setPort(int port)
The port that this provider should listen on. Set once only.


setRecoveryTimeMillis

public void setRecoveryTimeMillis(int recoverytime)
The number of milliseconds to wait before retrying to reconnect to a peer after it becomes unreachable.


getRecoveryTimeMillis

public int getRecoveryTimeMillis()
The number of milliseconds to wait before retrying to reconnect to a peer after it becomes unreachable.


setMaxActive

public void setMaxActive(int maxActive)
The maximum number of sockets that this provider can simetaneously open to each peer in the cluster.


getMaxActive

public int getMaxActive()
The maximum number of sockets that this provider can simetaneously open to each peer in the cluster.


setMaxIdle

public void setMaxIdle(int maxIdle)
The number of idle sockets that this provider can keep open to each peer in the cluster.


getMaxIdle

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


setNumBroadcastThreads

public void setNumBroadcastThreads(int numBroadcastThreads)
The number of worker threads that are used for transmitting packets to peers in the cluster.


getNumBroadcastThreads

public int getNumBroadcastThreads()
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".

Throws:
UnknownHostException

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 RemoteCommitProvider
Specified by:
close in interface Closeable


Copyright © 2006-2008 Apache Software Foundation. All Rights Reserved.