Class AgentController

java.lang.Object
net.sf.basedb.clients.jobagent.AgentController

public class AgentController
extends Object
This is the command line controller class for the job agent application. It is responsible for starting up and managing a running job agent. The agent itself will be started in separate thread.
Version:
2.0
Author:
nicklas
Last modified
$Date: 2021-06-04 12:40:45 +0200 (Fri, 04 Jun 2021) $
  • Field Details

    • log

      private static final org.slf4j.Logger log
      Log job agent events.
    • properties

      private final Properties properties
    • port

      private final int port
    • timeout

      private final int timeout
  • Constructor Details

    • AgentController

      public AgentController​(Properties p)
      Create a new controller for controlling the job agent specified by the given properties.
      Parameters:
      p - The properties for the job agent to control
  • Method Details

    • main

      public static void main​(String[] args)
    • printUsage

      private static void printUsage()
    • printHelp

      private static void printHelp()
    • startAgent

      public void startAgent() throws IOException
      Start the agent this controller is controlling. If no agent is running a new one is created in another thread in this virtual machine. The thread must be stopped before the virtual machine exits.
      Throws:
      IOException - If there is an error
      See Also:
      JobAgentConnection.sendStart()
    • stopAgent

      public void stopAgent() throws IOException
      Stop a running job agent by sending a stop request to the agents remote control service. The agent may be running in this or in another virtual machine.
      Throws:
      IOException - If there is an error
      See Also:
      JobAgentConnection.sendStop()
    • pauseAgent

      public void pauseAgent() throws IOException
      Pause a running job agent by sending a stop request to the agents remote control service. The agent may be running in this or in another virtual machine.
      Throws:
      IOException - If there is an error
      See Also:
      JobAgentConnection.sendPause()
    • getInfo

      public JobAgentInfo getInfo() throws IOException
      Get info about running job agent by sending an info request to the agents remote control service. The agent may be running in this or in another virtual machine.
      Returns:
      A JobAgentInfo object
      Throws:
      IOException - If there is an error
      See Also:
      JobAgentConnection.getInfo(boolean)
    • getStatus

      public JobAgentInfo getStatus() throws IOException
      Get status info about running job agent by sending an info request to the agents r emote control service. The agent may be running in this or in another virtual machine.
      Returns:
      A JobAgentInfo object
      Throws:
      IOException - If there is an error
      Since:
      2.5
      See Also:
      JobAgentConnection.getInfo(boolean)
    • registerAgent

      public void registerAgent()
    • unregisterAgent

      public void unregisterAgent()
    • createAgent

      private Agent createAgent​(Properties p)