com.ls.lars.server
Class AgentRMIListener

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--com.ls.lars.communication.CommunicationTemplate
              |
              +--com.ls.lars.server.AgentTemplate
                    |
                    +--com.ls.lars.server.AgentListener
                          |
                          +--com.ls.lars.server.AgentRMIListener
All Implemented Interfaces:
ICommunication, IToLars, Runnable, Serializable

public class AgentRMIListener
extends AgentListener

This class is the wrapper agent needed for the communication of a RMI listener. It waits for incoming RMI requests from remote agents.


to Class Specification

 Incoming Messages
      AgentRMIListener understands the following messages.
      Input parameters to be specified are listed with the messages.
      ----------------------------------------------------------------------
      log_system_information
      ----------------------------------------------------------------------
      Function:    Logs all RMI objects that are currently known by the used
                   registry and which are listening on the same port the
                   AgentRMIListener is listening on.

      Parameters:  none

      Responses:   none
      -----------------------------------------------------------------------
 Config File
      The AgentJSecureSocketListener's config file usually has only one entry
      for setting the port the Agent shall listen on for incoming
      communication requests.
      -----------------------------------------------------------------------
 Notes
      RMI (Remote Method Invocation) is a standard Java technique to remotely
      call methods on a server system.
      Refer to the Java documentation for details.

      For AgentRMIListener to work, the RMI registry (located in the JDK's bin
      directory) has to be started and running onthe same port as the agent is
      configured!

 

Version:
$Revision: 1.12 $
Author:
Last modified by $Author: OHittmeyer $
See Also:
Serialized Form

Field Summary
protected  String revisionInformation
          revision information string, managed by our version control system
protected static int RMI_DEFAULT_PORT
          default port for socket connections: 1099
 
Fields inherited from class com.ls.lars.server.AgentListener
port
 
Fields inherited from class com.ls.lars.server.AgentTemplate
agentMaxPool, agentMessageRouterName, agentMinPool, defaultServiceAccessPermission, defaultServiceAccessPrivilege, dynamicObjectController, FULL_SERVICE_ACCESS, iXMLHandlerForConfigLoader, localPlatform, maxInvokeStackCounter, NO_SERVICE_ACCESS, RUN_LEVEL_ACTIONS_INITIALIZED, RUN_LEVEL_CONFIG_FILE_INTERPRETED, RUN_LEVEL_CONFIG_FILE_READ, RUN_LEVEL_EMBRYONIC, RUN_LEVEL_INTERPRET_METHODS_REGISTERED, RUN_LEVEL_POOL_INITIALIZED, RUN_LEVEL_RUNNING, RUN_LEVEL_STOPPED, RUN_LEVEL_TERMINATED
 
Fields inherited from class com.ls.lars.communication.CommunicationTemplate
agentName, homePlatform, iPKIHandler, logger, STATUS_CONNECTED, STATUS_NOT_CONNECTED
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Fields inherited from interface com.ls.lars.communication.ICommunication
AUTHENTICATION_PASSWORD, AUTHENTICATION_USER, COMPRESSION_AUTO_COMPRESSION, COMPRESSION_AUTO_COMPRESSION_START_SIZE, COMPRESSION_LEVEL, COMPRESSION_TYPE, COMPRESSION_ZIP_ENTRY_NAME, CONNECTION_TYPE, HOST_ID, HOST_IP, HOST_PORT, HTTP, J_SECURE_SOCKET, J_SOCKET, JMS, JMS_INITIAL_CONTEXT_FACTORY, JMS_JMSMESSENGER_APPLICATION_LOCATION, JMS_PROVIDER_URL, JMS_RECEIVING_QUEUE_NAME, JMS_SECURITY_CREDENTIALS, JMS_SECURITY_PRINCIPAL, JMS_SENDING_QUEUE_NAME, MAXIMUM_MESSAGE_LENGTH, PROTOCOL, RMI, SOCKET, TIMEOUT, USE_OUTBOX
 
Constructor Summary
AgentRMIListener(String agentName, String homePlatform, List agentConfigFiles)
          Constructor that only calls AgentListener.AgentListener(agentName, homePlatform, agentConfigFiles)
 
Method Summary
protected  String getRevisionInformation()
          gets the revision information of this agent
 void initializeMessages()
          calls AgentListener.initializeMessages() and opens RMI connection
protected  boolean interpretLogSystemInformation(Message currentMessage)
          executes Lars.logSystemInformation(), which logs detailed informations about the lars platform
protected  void setDefaultPort()
          sets port to the default port (here: RMI_DEFAULT_PORT)
 
Methods inherited from class com.ls.lars.server.AgentListener
interpretAskForConnectionParameters, interpretSetOutbox, interpretSetPort
 
Methods inherited from class com.ls.lars.server.AgentTemplate
executeLifeCycle, executeWhileRunning, getAgentRevisionInformation, getIPKIHandler, getOwnPublicKeyCertificate, initializeAction, interpret, interpretAccessDenied, interpretAgentConnected, interpretCheckRegisteredServices, interpretCloseConnection, interpretDefineObject, interpretDeliveryFailed, interpretGetRevisionInformation, interpretInterpretationSuccessful, interpretLoadObject, interpretLogInbox, interpretMonitorLookup, interpretNotifiedAgent, interpretNotifyCanceled, interpretNotifyNotCanceled, interpretNotUnderstood, interpretPing, interpretRegisterService, interpretSendAsConfigured, interpretSetAccessPrivileges, interpretSetForeignPublicKeyCertificate, interpretSetLog, interpretSetOwnPublicKeyCertificate, interpretSetPkiEnvironment, interpretSetPkiMessages, interpretSetPrivateKey, interpretSetRunLevel, interpretSignatureNotValid, interpretStartupConstraint, loadConfigFile, performDefaultBehavior, reconnectAfterMigration, registerInterpretMethods, registerInterpretMethods, registerInterpretMethods, reInitializeAction, setAgentMessageRouterName, setIXMLHandler, setLocalPlatform, setPKIMessage, terminateAction, toString
 
Methods inherited from class com.ls.lars.communication.CommunicationTemplate
addConnectionParameter, checkSendSystemReply, connect, createReplyId, disconnect, disconnectForMigration, finalize, forwardMessage, forwardMessage, getAgentName, getConnectionParameters, getInboxSize, getLarsHost, getNumberOfProcessedMessages, getNumberOfProcessedMessagesPerMinute, getStartTime, isConnected, logInbox, receiveBlockedMessage, receiveBlockedMessage, run, sendMessage, sendSynchronousRequest, sendSynchronousRequest, setConnectionParameters, setLog, setMeantimeBetweenConnectionCheck, waitForConnection, waitForConnection
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, yield
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.ls.lars.communication.IToLars
start
 

Field Detail

revisionInformation

protected String revisionInformation
revision information string, managed by our version control system

RMI_DEFAULT_PORT

protected static final int RMI_DEFAULT_PORT
default port for socket connections: 1099
Constructor Detail

AgentRMIListener

public AgentRMIListener(String agentName,
                        String homePlatform,
                        List agentConfigFiles)
Constructor that only calls AgentListener.AgentListener(agentName, homePlatform, agentConfigFiles)
Parameters:
agentName - name of the agent (example: xyz)
homePlatform - name of the home platform where the agent was created (example: 195.52.158.233/lars)
agentConfigFiles - config file(s), which should be read by the agent when it starts up.
Method Detail

getRevisionInformation

protected String getRevisionInformation()
gets the revision information of this agent
Overrides:
getRevisionInformation in class AgentListener
Returns:
the revision information

initializeMessages

public void initializeMessages()
calls AgentListener.initializeMessages() and opens RMI connection
Overrides:
initializeMessages in class AgentListener

interpretLogSystemInformation

protected boolean interpretLogSystemInformation(Message currentMessage)
executes Lars.logSystemInformation(), which logs detailed informations about the lars platform
Parameters:
currentMessage - "log_system_information" message
Returns:
always true

setDefaultPort

protected void setDefaultPort()
sets port to the default port (here: RMI_DEFAULT_PORT)
Overrides:
setDefaultPort in class AgentListener