IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Arret au bout d'un certain temps


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut Arret au bout d'un certain temps
    Salut a tous.
    Voila, j'ai un petit soucis.
    J'ai creer un programme en java qui lit ce qui se passe sur un port serie.
    Sur ce port est connecté un flasheur, qui envoie les informations a certains moments de la journee.
    Ces informations sont recuelli dans un fichier txt qui est envoyé soit au bout de 30 flashages, soit au bout de 30 minutes d'inactivité.
    Sauf que voila, J'ai le programme qui s'arrete au bout d'1h30/2h malgres la boucle infini que j'ai mis.
    Est ce normal?

  2. #2
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    Bonjour,

    Citation Envoyé par gethy06 Voir le message
    Sauf que voila, J'ai le programme qui s'arrete au bout d'1h30/2h malgres la boucle infini que j'ai mis.
    Est ce normal?
    Je répondrai non

    Que faisait le programme avant de s'arrêter ? une RuntimeException peut-être à l'origine de la sortie de la boucle infinie
    Serait-il possible d'avoir plus d'infos ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut
    Voila ma boucle :

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
       while(true)
       {
           int i=0;
           String NomFile=com+"-"+dat+hour+min+sec+milsec;
           System.out.println("Nouveau fichier txt créé : "+NomFile);
           FileWriter txt = null;
           String titretxt="C:/flasheur/txt/"+NomFile+".txt";
           txt = new FileWriter(titretxt);
           PrintWriter pretxt = new PrintWriter(txt);
           pretxt.flush();
           //Attente de 30 min (le temps est en ms)
           serialPort.enableReceiveTimeout(1800000);
           System.out.println(dat+hour+min+sec+milsec);
           try
           {
               do
               {
                   //pour lire avec des streams:
                   in=new BufferedReader(new InputStreamReader(serialPort.getInputStream()));
                   int amount;
                   String c="";
                   do
                   {
                       amount = in.read();
                       c+=DecToChar(amount);
                   }while(DecToChar(amount)!="ETX");
                  System.out.println(c);
                  if(c.length()==38)
                  {
                      String barcode=c.substring(19, 27);
                      pretxt.println("BARCODE="+barcode+";DATETIME="+dat+hour2+min2+sec2+milsec2);
                      pretxt.flush();
                      i++;
                  }
                  if(i==30)
                  {
                      ok=false;
                  }
                  if(c.compareTo("STXCLOTURE_HILLSETX")==0)
                  {
                      System.out.println("CLOTURE DE LA JOURNEE");
                      ok=false;
                   }
                }while(ok);
                pretxt.close();
                System.out.println("Nouveau fichier BOUCHON créé : "+NomFile);
                FileWriter bch = null;
                String titrebch="C:/flasheur/txt/"+NomFile+".bouchon";
                bch = new FileWriter(titrebch);
                PrintWriter prebch = new PrintWriter(bch);
                prebch.flush();
                prebch.close();
                envoieFTP(NomFile);
                Properties sys = System.getProperties();
                String os = sys.getProperty("os.name");
                Runtime r = Runtime.getRuntime();
                try
               {
                   r.exec("C:/flasheur/start.bat");
               }
               catch (IOException ex)
               {
                   ex.printStackTrace();
               } 
               in.close();
           }
           catch(Exception f)
           {
               System.out.println("----Nouveau fichier BOUCHON créé : "+NomFile);
               FileWriter bch = null;
               String titrebch="C:/flasheur/txt/"+NomFile+".bouchon";
               bch = new FileWriter(titrebch);
               PrintWriter prebch = new PrintWriter(bch);
               prebch.flush();
               prebch.close();
               envoieFTP(NomFile);
           }
    }
    Une petite question :
    J'ai fais en sorte que le programme se lance au lancement d'une session windows grace à un .bat.
    Ma question est : Apres verrouillage de la session, quand on se reconnecte a celle-ci, l'invite de cimmande est toujours presente mais le programme cess-t-il de fonctionner ?

  4. #4
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    Essaie de mettre un try catch(Throwable) dans la boucle pour voir si une RuntimeException ou une Error est la cause de l'arrêt.
    Est-ce qu'il y a un message dans la console à l'arrêt ?

    Concernant le verrouillage il n'arrête pas le programme de la jvm. (Heureusement sinon il faudrait que je relance Eclipse chaque fois que je verrouille le pc )

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Par défaut
    Citation Envoyé par fnobb Voir le message
    Essaie de mettre un try catch(Throwable) dans la boucle pour voir si une RuntimeException ou une Error est la cause de l'arrêt.
    Est-ce qu'il y a un message dans la console à l'arrêt ?
    Il y a deja un try catch autour de la boucle.
    Le truc, c'est que cela se fige, et je ne peux plus rien faire, lorsque je flashe, aucun affichage ne se fait et le fichier txt ne se remplit plus ...

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/05/2007, 15h37
  2. [VB6] MessageBox a faire disparaître au bout d'un certain temps
    Par ebgdas dans le forum VB 6 et antérieur
    Réponses: 24
    Dernier message: 22/04/2006, 23h20
  3. update qui bloque au bout d'un certain temps
    Par delaio dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/03/2006, 09h51
  4. Stopper l'exécution d'une fonction au bout d'un certain temp
    Par Eagle959 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/03/2006, 18h16
  5. Fermer une fenêtre au bout d'un certain temps.
    Par cprogil dans le forum Composants VCL
    Réponses: 5
    Dernier message: 27/11/2003, 18h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo