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

Servlets/JSP Java Discussion :

Probleme lors de l'appel à une fonction


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 195
    Points : 98
    Points
    98
    Par défaut Probleme lors de l'appel à une fonction
    Hello,
    J'ai un problème lors de l'appel à une fonction depuis ma servlet. Voila le code qui bug, j'ai mis des log pour trouver l'origine du problème :

    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
     
    //get the number of hours for each tasks groups
    for (int i=0;i<ListTaskGroupProject.length;i++) {
      TaskDO[] tasks =      taskService.getTasks(ListTaskGroupProject[i].getIdTaskGroup());
      Float nbHours = Float.valueOf(0);
      for (int j=0;j<tasks.length;j++) {
        for (int l = 0; l < usersProject.length; l++) {
          loggingService.log("1", LoggingService.DEBUG);
          Float taskuser = taskUserHourService.getTaskUserHourBetweenTwoDates(tasks[j].getIdTask(), usersProject[l].getId(), stringMonday, stringSunday);
          loggingService.log("2", LoggingService.DEBUG);
          if (taskuser!=null) {
          nbHours = nbHours + taskuser;
          }
        }
      }
    }
    Voici la fonction appelée entre les log 1 et 2 :

    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
    	public Float getTaskUserHourBetweenTwoDates(Long idTask, Long idUser, String start, String end) {
    		System.out.println("TaskUserHourService1");
    		TaskUserHourDAO myTaskUserHourDAO = new TaskUserHourDAO(super.openConnection());
    		System.out.println("TaskUserHourService2");
    		Float result = Float.valueOf(0);
    		System.out.println("TaskUserHourService3");
    		try{
    			System.out.println("TaskUserHourService4");
    			result = myTaskUserHourDAO.getTaskUserHourBetweenTwoDates(idTask, idUser, start, end);
    			System.out.println("TaskUserHourService5");
    			super.commit();
    		}catch (SQLException e) {
    			//Wrap the Exception into an RTException
    			throw new ProjectTrackingRTException(e);
    		}
    		finally {
    			super.closeConnection();
    		}
    		return result;
    	}
    Lorsque cette portion de code est exécutée avec des dates trop éloignées, le programme s'arrete au log 1, il n'entre même pas dans la fonction (le System.out.println("TaskUserHourService1"); n'est pas affiché).

    Si les dates sont pas trop éloignées, tout marche bien.

    Mais je ne comprend vraiment pas pourquoi il ne rentre pas dans la fonction, l'espace de temps entre les dates n'etant pas pris en compte.

    Si quelqu'un a une idée, je le remercie d'avance !!

    A++

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Question classique mais primordiale : as-tu une exception de levée ? Si oui laquelle ?

    A priori, s'il n'entre pas dans ta boucle, c'est, au choix :
    - que ton tableau "tasks" est de taille < j+1
    - que ton tableau "usersProject" est de taille < l+1
    - que ta méthode getIdTask() lève une exception
    - que ta méthode getId() lève une exception

    Donc, si tu le peux, teste tout ca en debug (je ne comprends pas pourquoi tant de gens n'utilisent pas le mode pas-à-pas...), sinon, ajoute des System.out.println() pour tester (valeur de j, valeur de l, tailles des 2 tableaux, test de getIdTask(), test de getId()).

    Une fois ca fait, tu connaitras exactement la source de ton problème.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 195
    Points : 98
    Points
    98
    Par défaut
    J'utilisais la méthode debug il y a encore pas longtemps, mais un matin je suis arrivé au bureau et plus rien moyen de faire avec eclipse. Un autre programmeur m'a aidé a "réinstallé" mon envirronement autrement mais du coup je ne peux plus lancer mon appli en mode debug.

    Je test tout ca, merci bien !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Citation Envoyé par jonnyboy
    J'utilisais la méthode debug il y a encore pas longtemps, mais un matin je suis arrivé au bureau et plus rien moyen de faire avec eclipse. Un autre programmeur m'a aidé a "réinstallé" mon envirronement autrement mais du coup je ne peux plus lancer mon appli en mode debug.
    C'est vrai que j'ai souvent eu des problèmes avec le debugger d'Eclipse. Mais sur les dernières version, il me semble qu'ils ont bien stabilisé le truc. Quelle version d'Eclipse utilises-tu ? Et utilises-tu un plugin pour ton serveur (Tomcat ou autre) ? Si oui lequel ?

  5. #5
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 195
    Points : 98
    Points
    98
    Par défaut
    J'utilise Eclipse SDK 3.2.2.
    J'utilise un serveur apache tomcat aussi, version 6.0.10.
    Mais ce n'est pas moi qui est installé l'environnement, je suis en stage la. Et du coup j'ai eu du mal a comprendre ce qu'ils faisait au debut, donc je suis un peu perdu sur la mise en place de l'environnement de travail .

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Normal.
    Difficile de t'aider à paramétrer ton environnement, mais je te conseille de tanner jusqu'à saturation tes collègues pour qu'ils t'aident à faire marcher ton debugger.
    Car le debugger est vraiment un outil très important, qui te fera gagner beaucoup de temps, probablement bien plus que le temps que ca leur prendra à paramétrer ton environnement.

  7. #7
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    195
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 195
    Points : 98
    Points
    98
    Par défaut
    Ca y est ca marche !

    Je finis mon stage mardi donc je ne pense pas qu'ils voudront m'aider :s.

    merci bien en tout cas !!

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur lors de l'appel à une fonction
    Par wadja_86 dans le forum GTK+ avec C & C++
    Réponses: 8
    Dernier message: 09/12/2010, 12h18
  2. problème compréhension lors de l'appel à une fonction
    Par icpajacky dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 10/06/2009, 18h19
  3. Probleme lors de l'appel à une méthode
    Par doditch77 dans le forum C++
    Réponses: 10
    Dernier message: 07/01/2008, 00h58
  4. Réponses: 5
    Dernier message: 10/12/2007, 03h02
  5. [Language]problème lors de l'appel d'une méthode
    Par Samanta dans le forum Langage
    Réponses: 6
    Dernier message: 18/05/2005, 13h03

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