|
Oracle Application Server TopLink API Reference 10g Release 2 (10.1.2) B15903-01 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
oracle.toplink.remotecommand.RemoteCommandManager
Purpose: Provide a CommandManager implementation that will be used by both TopLink and non-TopLink applications.
Description: A RemoteCommandManager (or RCM) instance is the primary component of an RCM service instance. It manages the other components of the service, and directs the overall service operation. Its ServiceId uniquely distinguishes it from other service instances in the cluster.
Each RCM has a logical channel to which it subscribes and publishes. This channel determines which other instances in the cluster the service instance sends and receives remote commands to/from. All RCM's on the same channel should have the same discovery manager settings (be communicating on the same multicast) so that the discovery managers may be able to discover one another. RCM's on different channels may operate on the same or on different multicast groups.
An RCM instance knows about other instances in the cluster through its DiscoveryManager. Its TransportManager is repsonsible for setting up the connections to other instances once they are discovered.
An RCM is instructed to "propagate", or execute on all remote service instances in the cluster that subscribe to the same channel, a remote command by its CommandProcessor. Likewise, when an RCM receives a remote command to be executed then it passes the command off to the CommandProcessor for the processing of the command to occur. CommandProcessors pass commands to the RCM as an Object (in a format that may be specific to the application) and the RCM uses its CommandConverter to convert it to a TopLink Command object before sending the Command off to the cluster. Similarly, when a TopLink Command object is received then the RCM invokes its CommandConverter to convert the object into the application format that will be passed to the CommandProcessor to process the command.
CommandManager
, Command
, CommandProcessor
, CommandConverter
, CommandTransporter
, DiscoveryManager
Field Summary | |
static boolean |
DEFAULT_ASYNCHRONOUS_MODE |
static java.lang.String |
DEFAULT_CHANNEL |
static boolean |
DEFAULT_REMOVE_CONNECTION_ON_ERROR_MODE |
Constructor Summary | |
RemoteCommandManager(CommandProcessor commandProcessor) |
|
RemoteCommandManager(CommandProcessor commandProcessor, TransportManager transportManager) |
Method Summary | |
java.lang.String |
getChannel() PUBLIC: Return the service channel for this command manager. |
CommandConverter |
getCommandConverter() PUBLIC: Return the converter instance used to convert between TopLink Command objects and an application command format. |
CommandProcessor |
getCommandProcessor() PUBLIC: Return the command processor that processes commands received from the cluster. |
DiscoveryManager |
getDiscoveryManager() PUBLIC: Return the discovery manager that detects the arrival of new cluster members |
TransportManager |
getTransportManager() PUBLIC: Return the transport manager that manages sending and receiving of remote commands. |
java.lang.String |
getUrl() PUBLIC: Return the URL for this command manager. |
void |
initialize() PUBLIC: Initialize the remote command manager. |
void |
logInfo(java.lang.String message, java.lang.Object[] args) |
void |
logWarning(java.lang.String message, java.lang.Object[] args) |
void |
propagateCommand(java.lang.Object command) ADVANCED: Propagate a remote command to all remote RCM services participating in the TopLink cluster. |
void |
setChannel(java.lang.String channel) ADVANCED: Set the service channel for this command manager. |
void |
setCommandConverter(CommandConverter newCommandConverter) ADVANCED: Set the converter instance that will be invoked by this CommandProcessor to convert commands from their application command format into TopLink Command objects before being propagated to remote command manager services. |
void |
setCommandProcessor(CommandProcessor newCommandProcessor) ADVANCED: Set the command processor that will be invoked to process commands. |
void |
setDiscoveryManager(DiscoveryManager mgr) ADVANCED: Set the discovery manager that detects the arrival of new cluster members. |
void |
setShouldPropagateAsynchronously(boolean asyncMode) ADVANCED: Set whether this command manager should propagate commands synchronously or asynchronously. |
void |
setShouldRemoveConnectionOnError(boolean shouldRemoveConnectionOnError) PUBLIC: Set whether connections to remote services should be disconnected when an error occurs. |
void |
setTransportManager(TransportManager newTransportManager) ADVANCED: Set a specific transport manager to manage sending and receiving of remote commands. |
void |
setUrl(java.lang.String url) ADVANCED: Set the URL for this command manager. |
boolean |
shouldPropagateAsynchronously() PUBLIC: Return whether this command manager should propagate commands synchronously or asynchronously. |
boolean |
shouldRemoveConnectionOnError() PUBLIC: Return whether connections to remote services should be disconnected when an error occurs. |
void |
shutdown() PUBLIC: Shut down the remote command manager. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final boolean DEFAULT_ASYNCHRONOUS_MODE
public static final boolean DEFAULT_REMOVE_CONNECTION_ON_ERROR_MODE
public static final java.lang.String DEFAULT_CHANNEL
Constructor Detail |
public RemoteCommandManager(CommandProcessor commandProcessor)
public RemoteCommandManager(CommandProcessor commandProcessor, TransportManager transportManager)
Method Detail |
public void initialize()
initialize
in interface CommandManager
public void shutdown()
shutdown
in interface CommandManager
public void propagateCommand(java.lang.Object command)
propagateCommand
in interface CommandManager
command
- An object representing a TopLink commandpublic CommandProcessor getCommandProcessor()
CommandManager
getCommandProcessor
in interface CommandManager
public void setCommandProcessor(CommandProcessor newCommandProcessor)
CommandManager
setCommandProcessor
in interface CommandManager
newCommandProcessor
- The intended processor of remote commandspublic TransportManager getTransportManager()
CommandManager
getTransportManager
in interface CommandManager
public void setTransportManager(TransportManager newTransportManager)
CommandManager
setTransportManager
in interface CommandManager
newTransportManager
- An instance of the desired transport manager typepublic void setShouldRemoveConnectionOnError(boolean shouldRemoveConnectionOnError)
setShouldRemoveConnectionOnError
in interface CommandManager
shouldRemoveConnectionOnError
- True if connections are to be transparently removed by the RCM, false if the exception should be thrown instead.public boolean shouldRemoveConnectionOnError()
shouldRemoveConnectionOnError
in interface CommandManager
public boolean shouldPropagateAsynchronously()
shouldPropagateAsynchronously
in interface CommandManager
public void setShouldPropagateAsynchronously(boolean asyncMode)
setShouldPropagateAsynchronously
in interface CommandManager
asyncMode
- True if asynchronous mode enabled, false if synchronous propagation will occur (default is true)public DiscoveryManager getDiscoveryManager()
getDiscoveryManager
in interface CommandManager
public void setDiscoveryManager(DiscoveryManager mgr)
public CommandConverter getCommandConverter()
getCommandConverter
in interface CommandManager
public void setCommandConverter(CommandConverter newCommandConverter)
setCommandConverter
in interface CommandManager
newCommandConverter
- The converter to be used by this CommandManagerpublic void logInfo(java.lang.String message, java.lang.Object[] args)
public void logWarning(java.lang.String message, java.lang.Object[] args)
public java.lang.String getChannel()
getChannel
in interface CommandManager
public void setChannel(java.lang.String channel)
setChannel
in interface CommandManager
channel
- The service channel subscribed to by this CommandManagerpublic java.lang.String getUrl()
getUrl
in interface CommandManager
public void setUrl(java.lang.String url)
setUrl
in interface CommandManager
url
- The URL String for this CommandManager
|
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |