public class CommandPropagator
extends java.lang.Object
implements java.lang.Runnable
Purpose: Synchronous and asynchronous propagation of remote commands
Description: Maintains a reference to the RemoteCommandManager to obtain the connection information required to send the commands. In sync mode the caller is blocked until the command has been sent along all of the connections. If in async mode then a CommandPropagator instance is further created for each of the connections and control is returned to the caller while the threads send the command to the remote services.
Constructor and Description |
---|
CommandPropagator(RemoteCommandManager rcm,
Command command,
byte[] commandBytes)
Constructor used to create the main propagator
|
CommandPropagator(RemoteCommandManager rcm,
Command command,
byte[] commandBytes,
RemoteConnection connection)
Constructor used to create the async propagator threads
|
Modifier and Type | Method and Description |
---|---|
void |
asynchronousPropagateCommand()
INTERNAL:
Asynchronously propagate the command
|
void |
handleCommunicationException(RemoteConnection conn,
CommunicationException comEx)
INTERNAL:
We received the specified CommunicationException trying to execute the command
over the specified connection.
|
void |
handleExceptionFromRemoteExecution(RemoteConnection conn,
java.lang.String exString)
INTERNAL:
We received the specified exception String while executing the command
over the specified connection.
|
void |
propagateCommand(RemoteConnection connection)
INTERNAL:
Propagate the command to the specified connection.
|
void |
run()
INTERNAL:
This is the execution method of the async propagation thread.
|
void |
synchronousPropagateCommand()
INTERNAL:
Synchronously propagate the command
|
public CommandPropagator(RemoteCommandManager rcm, Command command, byte[] commandBytes)
public CommandPropagator(RemoteCommandManager rcm, Command command, byte[] commandBytes, RemoteConnection connection)
public void synchronousPropagateCommand()
public void asynchronousPropagateCommand()
public void propagateCommand(RemoteConnection connection)
public void handleExceptionFromRemoteExecution(RemoteConnection conn, java.lang.String exString)
public void handleCommunicationException(RemoteConnection conn, CommunicationException comEx)
public void run()
run
in interface java.lang.Runnable
EclipseLink 2.6.3, "build v20160428-59c81c5" API Reference