Package org.apache.openjpa.event
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
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
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
Utility class to store an InetAddress and an int. -
Field Summary
Modifier and TypeFieldDescriptionprotected List<TCPRemoteCommitProvider.HostAddress>
protected final ReentrantLock
protected int
protected static final Localizer
Fields inherited from class org.apache.openjpa.event.AbstractRemoteCommitProvider
eventManager, log
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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
Subclasses that need to perform actions inConfigurable.endConfiguration()
must invoke this method.int
int
int
int
getPort()
int
void
setAddresses
(String names) Sets the list of addresses of peers to which this provider will send events to.void
setMaxActive
(int maxActive) Deprecated.void
setMaxIdle
(int maxIdle) Set the number of idle sockets that this provider can keep open to each peer in the cluster.void
setMaxTotal
(int maxTotal) Set the maximum total number of sockets that this provider can simultaneously open to each peer in the cluster.void
setNumBroadcastThreads
(int numBroadcastThreads) Set the number of worker threads that are used for transmitting packets to peers in the cluster.void
setPort
(int port) Set the port that this provider should listen on.void
setRecoveryTimeMillis
(int recoverytime) Set 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
-
Field Details
-
s_loc
-
_port
protected int _port -
_addresses
-
_addressesLock
-
-
Constructor Details
-
TCPRemoteCommitProvider
- Throws:
UnknownHostException
-
-
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.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 usesetMaxTotal(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
Sets the list of addresses of peers to which this provider will send events to. The peers are semicolon-separatednames
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 inConfigurable.endConfiguration()
must invoke this method.- Specified by:
endConfiguration
in interfaceConfigurable
- Overrides:
endConfiguration
in classAbstractRemoteCommitProvider
-
broadcast
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 interfaceRemoteCommitProvider
-
close
public void close()Description copied from interface:RemoteCommitProvider
Free the resources used by this provider.- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceRemoteCommitProvider
-