On Tue, 15 Jun 2010 09:49:00 +0200 Sigrid LEHUTA <Sigrid.Lehuta@ifremer.fr> wrote: Salut, Le probleme est surtout la.
ERROR [Thread-7] (SimulationService.java:915) finished - Stop simulation plan, because can't call afterSimulation correctly on plan analyseplans.Calibrationq0_pelagique org.hibernate.exception.GenericJDBCException: Cannot open connection at ... fr.ifremer.isisfish.datastore.ResultStorage.getMatrix(ResultStorage.java:496) at analyseplans.Calibrationq0_pelagique.afterSimulatio (Calibrationq0_pelagique.java:199) ... fr.ifremer.isisfish.simulator.launcher.SimulationMonitor.run(SimulationMonitor.java:413) Caused by: org.h2.jdbc.JdbcSQLException: Database may be already in use: "Locked by another process". Possible solutions: close all other connection(s); use the server mode [90020-128]
...
public boolean afterSimulation(AnalysePlanContext context, SimulationStorage lastSimulation) throws Exception { int number = lastSimulation.getParameter().getAnalysePlanNumber(); //int number = context.getNumber(); System.out.println("after simulation" + number); ResultStorage result = lastSimulation.getResultStorage();
// Pour sommer sur certaines classes les resultats : MatrixND L2 = result.getMatrix(param_Population, ResultName.MATRIX_CATCH_WEIGHT_PER_STRATEGY_MET_PER_ZONE_POP);
Il semble que la simulation n'a pas ferme la base de donnees auquel essaie d'acceder afterSimulation (method result.getMatrix). Vu que les simulations sont faites dans un sous process, il faut absolument qu'avant la toute fin du sous process, toutes les bases soient fermees. (a verifier dans le code d'ISIS (eric?)) Ensuite ton script devrait fonctionner (bon il pourrait bien sur etre ameliore, mais c'est une autre histoire :D) ex: public boolean isPair(int nombre){ if((nombre-1)%2 == 1){ return true ; }else{ return false; } } pourrait-etre ecrit: public boolean isPair(int nombre){ return nombre%2 == 0; } -- Benjamin -------------------- tél: +33 (0) 2 40 50 29 28 email: poussin@codelutin.com () campagne du ruban ascii http://www.codelutin.com /\ pour les mails en ascii