Bonjour,
je dispose d'une application web(jsf) qui permet de démarrer un traitement (traiter des lignes dans une base de donnée).une fois la ligne active est traité on passe la valeur traiter=oui. au bout d'un moment je voulais stopper le processus pour le démarrer plus tard mais j'ai pas pu le faire.J'ai ajouté un flag boolean arretSVP= false mais ça n'a pas marché.
voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
public class Eleve{
public static boolean arreteSilTePlait=true;
//getter and setter
 public void editEleve(Eleve e) {
demmarerService("seb");
}
demmarerService(String txt){
while (arreteSilTePlait==true)
 
                { String sql="select id,prenom,nom from "+txt+" where traiter='non'";
 
                try{
connection = com.Database.getConnection();
 
                    if(connection !=null && !connection.isClosed()){
                        stmt1= connection.createStatement();
                        rset1= stmt1.executeQuery(sql);
 
                        while(rset1.next() && arreteSilTePlait){
                            id= rset1.getString("id");
// traitement et passer traiter=oui de l'eleve 
if (arreteSilTePlait==true){
break;}
 
}catch(Exception e ){
e.printracktrace();
 
 
}
 
 public  boolean stopp() {
         System.out.println("pausing process....");
         arreteSilTePlait=false;
          System.out.println("arretSilTePlait= "+arreteSilTePlait);
        // t.stop();
          return arreteSilTePlait;
       }
}

si je click sur pause le traitement n'est pas effectué et le processus n'est pas mis en pause.
Aidez moi svp