Class InProcessSimulatorLauncher
java.lang.Object
fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher
- All Implemented Interfaces:
SimulatorLauncher
Fait une simulation dans la meme jvm.
- Version:
- $Revision$ Last update : $Date$ By : $Author$
- Author:
- poussin
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
protected class
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected AspectJUrlClassLoader
changeClassLoader
(Thread thread, File directory) Modifie le classloader du thread passé en paramètre.int
Retourne l'intervalle de temps a utiliser entre deux verification de progresssion.getSimulationStorage
(SimulationService simulationService, SimulationControl control) Retourne le storage où est stockée la simulation.protected void
initSimulationListener
(SimulationContext context) protected SimulationStorage
localSimulate
(SimulationControl control, SimulationStorage simulation) fait la simulation en local dans un nouveau thread, cela permet pour chaque simulation d'avoir les bons scripts dans le classloader et non pas d'utiliser les scripts d'une autre simulationprotected SimulationStorage
localSimulateSameThread
(SimulationControl control, SimulationStorage simulation) Cree le simulation context, creer le ClassLoader, met en place les AOP, met a jour des informations sur la simulation et lance la simulation en localint
Retourne le nombre maximal de thread de simulations simultanées supporté.protected void
message
(SimulationControl control, String message) Display message both in commons-logging and control text progress.void
simulate
(SimulationService simulationService, SimulationItem simulationItem) Execute une simulation.void
Called if a started simulation has been ask to stop.toString()
void
updateControl
(SimulationService simulationService, SimulationControl control) Met à jour la progression.
-
Field Details
-
simulation
-
-
Constructor Details
-
InProcessSimulatorLauncher
public InProcessSimulatorLauncher()
-
-
Method Details
-
simulate
public void simulate(SimulationService simulationService, SimulationItem simulationItem) throws RemoteException Description copied from interface:SimulatorLauncher
Execute une simulation.- Specified by:
simulate
in interfaceSimulatorLauncher
- Parameters:
simulationService
- leSimulationService
qui a initie la simulationsimulationItem
- 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.
-
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 interfaceSimulatorLauncher
- Parameters:
simulationService
- leSimulationService
qui a initie la simulationcontrol
- 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 interfaceSimulatorLauncher
- Parameters:
simulationService
- leSimulationService
qui a initie la simulationcontrol
- 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.
-
maxSimulationThread
public int maxSimulationThread()Description copied from interface:SimulatorLauncher
Retourne le nombre maximal de thread de simulations simultanées supporté.- Specified by:
maxSimulationThread
in interfaceSimulatorLauncher
- 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 interfaceSimulatorLauncher
- Returns:
- intervalle (en secondes);
-
toString
-
message
Display message both in commons-logging and control text progress.- Parameters:
control
- controlmessage
- message to display
-
localSimulate
fait la simulation en local dans un nouveau thread, cela permet pour chaque simulation d'avoir les bons scripts dans le classloader et non pas d'utiliser les scripts d'une autre simulation- Parameters:
control
- le controleur de simulation, peut-etre null si on ne souhaite pas controler la simulationsimulation
- la simulation a faire- Returns:
- le storage après simulation en locale
-
changeClassLoader
Modifie le classloader du thread passé en paramètre.Sert pour les simulations pour qu'elles puissent trouver les scripts, rule et export
- Parameters:
thread
- le thread dont on souhaite modifier le classloader ou nulldirectory
- le répertoire qui servira pour le classloader- Returns:
- le class loader modifié
-
localSimulateSameThread
protected SimulationStorage localSimulateSameThread(SimulationControl control, SimulationStorage simulation) Cree le simulation context, creer le ClassLoader, met en place les AOP, met a jour des informations sur la simulation et lance la simulation en local- Parameters:
control
- le controleur de simulation, peut-etre null si on ne souhaite pas controler la simulationsimulation
- la simulation a faire- Returns:
- le storage après simulation en locale
-
initSimulationListener
- Throws:
Exception
-
simulationStopRequest
Called if a started simulation has been ask to stop. Tell launcher to stop simulation if possible. Do nothing (no restriction on inprocess launcher).- Specified by:
simulationStopRequest
in interfaceSimulatorLauncher
- Parameters:
job
- job to stop
-