Class SubProcessSimulationLauncher

java.lang.Object
fr.ifremer.isisfish.simulator.launcher.SubProcessSimulationLauncher
All Implemented Interfaces:
SimulatorLauncher

public class SubProcessSimulationLauncher extends Object implements SimulatorLauncher
Lanceur de simulation dans un sous processus. Usefull article about sub process management : http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=4
Version:
$Revision$ Last update : $Date$ By : $Author$
Author:
poussin
See Also:
  • Field Details

    • log

      protected static org.apache.commons.logging.Log log
      Class logger (protected for inner classes)
  • Constructor Details

    • SubProcessSimulationLauncher

      public SubProcessSimulationLauncher()
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • simulate

      public void simulate(SimulationService simulationService, SimulationItem simulationItem) throws RemoteException
      Description copied from interface: SimulatorLauncher
      Execute une simulation.
      Specified by:
      simulate in interface SimulatorLauncher
      Parameters:
      simulationService - le SimulationService qui a initie la simulation
      simulationItem - l'item contenant toutes les infos nécessaire au lancement de la simulation IMPORTANT Quoi qu'il arrive
      Throws:
      RemoteException - Si pour l'execution de la simulation on utilise des resources distantes (serveurs) et que ceux si non pas pu etre contacte. Dans ce cas la simulation n'a pas ete faite et cette exception est levee.
    • maxSimulationThread

      public int maxSimulationThread()
      Description copied from interface: SimulatorLauncher
      Retourne le nombre maximal de thread de simulations simultanées supporté.
      Specified by:
      maxSimulationThread in interface SimulatorLauncher
      Returns:
      un nombre superieur a 0
    • getCheckProgressionInterval

      public int getCheckProgressionInterval()
      Description copied from interface: SimulatorLauncher
      Retourne l'intervalle de temps a utiliser entre deux verification de progresssion.
      Specified by:
      getCheckProgressionInterval in interface SimulatorLauncher
      Returns:
      intervalle (en secondes);
    • message

      protected void message(SimulationControl control, String message)
      Display both message on UI (listeners and log).
      Parameters:
      control -
      message -
    • subProcessSimulate

      public SimulationStorage subProcessSimulate(SimulationControl control, File simulationZip, String simulationPrescript) throws Exception
      Throws:
      Exception
    • getSimulationStorage

      public SimulationStorage getSimulationStorage(SimulationService simulationService, SimulationControl control) throws RemoteException
      Description copied from interface: SimulatorLauncher
      Retourne le storage où est stockée la simulation.
      Specified by:
      getSimulationStorage in interface SimulatorLauncher
      Parameters:
      simulationService - le SimulationService qui a initie la simulation
      control - le control de la simulation
      Returns:
      le storage contenant la simulation qui vient d'etre faite ou null en fait au lieu de faire une seul simulation, plusieurs ou ete faite par exemple tout un plan de simulation Cette classe est tout de meme responsable du stockage de chaque simulation dans des storages.
      Throws:
      RemoteException - Si pour l'execution de la simulation on utilise des resources distantes (serveurs) et que ceux si non pas pu etre contacte.
    • updateControl

      public void updateControl(SimulationService simulationService, SimulationControl control) throws RemoteException
      Description copied from interface: SimulatorLauncher
      Met à jour la progression.
      Specified by:
      updateControl in interface SimulatorLauncher
      Parameters:
      simulationService - le SimulationService qui a initie la simulation
      control - le control de la simulation
      Throws:
      RemoteException - Si pour l'execution de la simulation on utilise des resources distantes (serveurs) et que ceux si non pas pu etre contacte.
    • simulationStopRequest

      public void simulationStopRequest(SimulationJob job)
      Called if a started simulation has been ask to stop. Tell launcher to stop simulation if possible. Do nothing (no restriction on subprocess launcher).
      Specified by:
      simulationStopRequest in interface SimulatorLauncher
      Parameters:
      job - job to stop