fr.ifremer.isisfish.simulator.launcher
Class SubProcessSimulationLauncher

java.lang.Object
  extended by 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: 3124 $ Last update : $Date: 2010-11-29 19:14:09 +0100 (lun., 29 nov. 2010) $ By : $Author: chatellier $
Author:
poussin
See Also:
ProcessBuilder, Process

Nested Class Summary
protected  class SubProcessSimulationLauncher.SimulationCheckpointExternalProcessThread
          This thread is responsible to synchronized SimulationControl used locally with remote simulation control for remote simulation.
 
Field Summary
protected static org.apache.commons.logging.Log log
          Class logger (protected for inner classes)
 
Constructor Summary
SubProcessSimulationLauncher()
           
 
Method Summary
 int getCheckProgressionInterval()
          Retourne l'intervalle de temps a utiliser entre deux verification de progresssion.
 SimulationStorage getSimulationStorage(SimulationService simulationService, SimulationControl control)
          Retourne le storage où est stockée la simulation.
 int maxSimulationThread()
          Retourne le nombre maximal de thread de simulations simultanées supporté.
protected  void message(SimulationControl control, String message)
          Display both message on UI (listeners and log).
 void simulate(SimulationService simulationService, SimulationItem simulationItem)
          Execute une simulation.
 void simulationStopRequest(SimulationJob job)
          Called if a started simulation has been ask to stop.
 SimulationStorage subProcessSimulate(SimulationControl control, File simulationZip, String simulationPrescript)
           
 String toString()
           
 void updateControl(SimulationService simulationService, SimulationControl control)
          Met à jour la progression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

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

Constructor Detail

SubProcessSimulationLauncher

public SubProcessSimulationLauncher()
Method Detail

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 d'analyse. 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


Copyright © 1999-2011 CodeLutin. All Rights Reserved.