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

Java Discussion :

interruption d'un programme java sans exception


Sujet :

Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Points : 113
    Points
    113
    Par défaut interruption d'un programme java sans exception
    Bonjour !

    J'ai une question sur l'exécution d'un programme java, à la suite d'un gros problème (exection en mode batch, sous windows).

    Question : Est il possible qu'un programme java batch se termine prématurément à la suite d'un problème (par exemple dans une boucle) sans envoyer d'exception particulière (rien sur la console d'affichage), et donc sans aller au bout de la méthode statique main ?

    C'est ce qui se passe sur le serveur de recette. Le programme est lancé par un script, d'après ce que me dit la personne concernée, le programme ne va pas jusqu'au bout, sans donner d'exception.

    Je précise qu'en Dev tout se passe bien avec exactement les mêmes données en entré. Sur mon poste, le temps d'exécution dépasse 2 heures, mais aboutit tout le temps à la fin. Sur le serveur de recette, le programme s'interromp après environ 1 heure.

    Merci de vos avis.

    Bonne soirée.

  2. #2
    Membre averti
    Inscrit en
    Juin 2003
    Messages
    292
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 292
    Points : 317
    Points
    317
    Par défaut
    Est ce qu il y a une erreur windows?
    Est ce que dans ton task mange, java.exe still alive?
    une solution pas tres elegante mais peut etre que ca peut t aider a identifier ton problemn ds ton main put le tout dans try/catch
    Cheers,

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut
    Il est tout à fait possible d'avoir non pas une Exception retournée mais une Error (style InternalError, VirtualMachineError, ...). Donc non capturé par ton catch.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Points : 113
    Points
    113
    Par défaut
    Ok, merci pour vos réponses.
    Pour le java.exe, j'en sais rien, je n'ai pas acces à la machine de recette sur laquelle le programme tourne ...
    Quel est le moyen de connaître ces "Error" ?
    Merci !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    731
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 731
    Points : 574
    Points
    574
    Par défaut
    Error dérive de Throwable donc il suffit de faire un
    en plus du

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 187
    Points : 110
    Points
    110
    Par défaut
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    catch (Throwable e){
    }

  7. #7
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Pour savoir à quel niveau de ton programme il s'arrête prématurément, tu peux aussi mettre en place un ystème de logs, qui tracerait par exemple les différents passages dans la boucle principale du programme.

    As-tu vérifié si ton programme, qui "s'arrête prématurément" au bout d'une heure avait bien fait son travail?
    Parcequ'un programme qui passe deux fois moins de temps sur une machine de production par rapport à celle de développement, ça n'a rien de choquant, les machines de production étant génélement bien plus performantes. Donc si ça se trouve, ton programme a tout simplement bien fonctionné...
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Points : 113
    Points
    113
    Par défaut
    Merci de ton avis.
    Oui, j'ai bien la preuve qu'il ne va pas jusqu'au bout, avec log4j j'ai une vague idée de où il s'arrête, et la base de données peut aussi en témoigner.
    Effectivement, la machine de recette doit aller plus vite que celle de dev.

  9. #9
    Membre habitué Avatar de medbouh
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 171
    Points
    171
    Par défaut
    Citation Envoyé par CyberChouan Voir le message
    Pour savoir à quel niveau de ton programme il s'arrête prématurément, tu peux aussi mettre en place un ystème de logs, qui tracerait par exemple les différents passages dans la boucle principale du programme.

    As-tu vérifié si ton programme, qui "s'arrête prématurément" au bout d'une heure avait bien fait son travail?
    Parcequ'un programme qui passe deux fois moins de temps sur une machine de production par rapport à celle de développement, ça n'a rien de choquant, les machines de production étant génélement bien plus performantes. Donc si ça se trouve, ton programme a tout simplement bien fonctionné...
    exactement, est ce-ci peut engendrer d'autre problematique que tu n'as pas pu deceler sur ta machine de developement, la meilleurs à mon avis celle d'un log, tracage tous au long du programme.
    avant de poste pensez à c'est plus constructif.

    n'oublie pas d'utilise le bouton

    si vous trouvez la solution vous meme n'oublie pas de l'indiquer.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 169
    Points : 113
    Points
    113
    Par défaut
    Merci pour vos avis.
    J'ai peut être une pseudo explication de l'arret soudain, sans erreur.

    Je vous rappelle qu'aucune erreur n'est affichée dans la console et que le programme ne va pas jusqu'au bout. Il me semble que quand un programme plante en java, une exception est affichée dans la console, si elle n'est pas "trycatché". Bon bref.

    C'est un programme batch qui fait des mises à jour dans une base de données, 2 tables possèdent environ 40000 enregistrements et chaque ligne est traitée.
    J'utilise JDBC.

    En recette, le batch est lancé via un script (ce n'est pas moi qui m'occupe du lancement du batch). Hier ça a planté, et aujourd'hui, ça remarche... On en a conclu que c'était peut être dû à la lenteur du réseau d'hier.
    Mais comment gérer ce problème ? Si ça se reproduit, on aimerait bien avoir un message dans la log qui explique qu'il y a un problème réseau.

    Merci, bonne journée.

Discussions similaires

  1. Lancer un programme java sans eclipse
    Par Ganymede dans le forum Eclipse
    Réponses: 2
    Dernier message: 09/01/2009, 13h26
  2. [Avis] Les meilleurs programmes Java ?
    Par christopheJ dans le forum ImageJ
    Réponses: 69
    Dernier message: 07/10/2008, 02h12
  3. Fournir les paramètres au programme Java sans se soucier de l'ordre
    Par zaz147 dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 03/10/2008, 19h26
  4. [votre avis m'interesse] Interface avec un programme Java
    Par LineLe dans le forum Interfaces Graphiques en Java
    Réponses: 29
    Dernier message: 11/12/2004, 12h39
  5. Lancement d'un programme java depuis un script php
    Par gexti dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 07/05/2004, 18h40

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