Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1279 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Threading et exception?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Threading et exception?

n°1478729
PETOZAK
Posté le 20-11-2006 à 18:17:01  profilanswer
 

Bonjour,
Je dois faire un programme qui verifie la disponibilité et le bon fonctionnement d'un outil :
Soit TraitementLong la classe qui fait tous les tests.
 
L'un des problème que je dois gérer est la mauvaises prise en compte de TraitementLong des TimeOut.
 
Pour cela je crée un Thread qui lance un TimeOut en même qu'un thread qui qui lance TraitementLong.
 
 
Voila le code :
 
 

Code :
  1. package ppaceMaker;
  2. import org.apache.log4j.Logger;
  3. import org.apache.log4j.PropertyConfigurator;
  4. import utilities.Mailing;
  5. import utilities.PPlus;
  6. import utilities.Utils;
  7. import utilities.Timer;
  8. import com.sciforma.psnext.api.PSException;
  9. public class ConnectionDiagnosis_V5 extends Timer {
  10. static final long start = System.currentTimeMillis();
  11. static long now = start;
  12. final boolean OK = true;
  13. private static int TIME_OUT = 5;
  14. private static final Logger logger = Logger.getLogger("PACEMAKER" );
  15. static boolean timeOut = false;
  16. static boolean success = false;
  17. public ConnectionDiagnosis_V5(int arg0) {
  18.  super(arg0);
  19.  // TODO Auto-generated constructor stub
  20. }
  21. private synchronized static void lanchtest() throws PSException {
  22.  PPlus mytest = new PPlus(true, true);
  23.  mytest.closeSession();
  24. }
  25. static Thread tpplus = new Thread(new Runnable() {
  26.  public void run() {
  27.   // le code qui te prend du temps
  28.   try {
  29.    lanchtest();
  30.    success = true;
  31.    tcounter.interrupt();
  32.   } catch (Exception e) {
  33.    e.printStackTrace(); // eventuelle
  34.   }
  35.  }
  36. });
  37. static Thread tcounter = new ConnectionDiagnosis_V5(TIME_OUT * 1000);
  38. synchronized public void timeout() {
  39.  System.err.println("ICI?" );
  40.  // Erreur de TO
  41.  logger.error("PPlus Timeout occurred.... terminating" );
  42.  /*
  43.   * Utils.timeIt(now); // this.stop();
  44.   * Mailing.sendMail("xxxxx@sgcib.com",
  45.   * "xxxxx@sgcib.com", "Time Out Problem!!!", "Attention avec
  46.   * la copyProd" ); try { Thread.sleep(1000); } catch
  47.   * (InterruptedException e) { // TODO Auto-generated catch block
  48.   * logger.error(e); } this.stop();
  49.   */
  50.  tpplus.interrupt();
  51.  timeOut = true;
  52.  this.stop();
  53. }
  54. public static void checkJobDate() {
  55. }
  56. public static void main(java.lang.String[] args) {
  57.  PropertyConfigurator.configure(ConnectionDiagnosis.class
  58.    .getClassLoader().getResource("conf/log4j.properties" ));
  59.  logger.info("Starting Diagnosis" );
  60.  tcounter.start();
  61.  tpplus.start();
  62.  while (!timeOut) {
  63.  }
  64.  logger.info("Ending Diagnosis" );
  65.  Utils.timeIt(start);
  66. }
  67. }


Message édité par PETOZAK le 01-10-2007 à 11:31:08
mood
Publicité
Posté le 20-11-2006 à 18:17:01  profilanswer
 

n°1478730
PETOZAK
Posté le 20-11-2006 à 18:17:15  profilanswer
 

Mon problème est simple:
 
 
Comment récupérer les interruptions de Thread (java.lang.InterruptedException) pour pouvoir lancer le traitement voulu. Dans mon cas :
 
Si Time out se produit : Tuer Thread et Envoyer Mail depuis le Main.
 
 
Il est à noter que les 2 threads doivent s'interrompre , en effet :
Si TraitementLong < TimeOut alors je dois tuer TimeOut et envoyer un mail positif
 
TraitementLong > TimeOut alors je dois tuer TimeOut et envoyer un mail négatif

n°1478731
PETOZAK
Posté le 20-11-2006 à 18:17:26  profilanswer
 

Est ce que join peut m'aider?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Threading et exception?

 

Sujets relatifs
Pb exception qui agassent!ASP.NET -> Memory Exception, introuvable j'en peut plus !
[mySQL] L'exception SocketException n'a pas été gérée ...[Résolu][C# .net] SqlDataReader ne contenant rien => exception
Exception in thread "main".java.lang.StringIndexOutOfBoundsException"Exception CSS" sur un lien
Exception JDOM incompréhensibleJava -> Date, probleme d exception ?!
Séparer une exception en deuxma servlet ne catch pas une exception lancée par mon EJB
Plus de sujets relatifs à : Threading et exception?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR