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

Langage Java Discussion :

mon code begaye


Sujet :

Langage Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 14
    Points : 15
    Points
    15
    Par défaut mon code begaye
    Bonjour,

    J'ai deux classes, disons ClasseA et ClasseB, ClasseB hérite de ClasseA, qui est abstraite.

    J'ai dans ClasseA la méthode :
    public getConnection() {
    log.info("blabla");
    ...
    }

    J'ai dans ClasseB :
    - un constructeur :
    public ClasseB() {
    super();
    }
    - une méthode d'instanciation unique (singleton) :
    public static classeB getInstance() {
    instance = new classeB();
    return instance;
    [Je vous épargne la gestion des exceptions.]
    }

    Lorsque j'exécute le code
    ClasseB.getInstance().getConnection();
    je vois apparaître deux fois le message "blabla" dans mes logs.

    Je ne m'explique pas comment la méthode getConnection pourrait être appelée deux fois alors qu'il n'y a qu'une seule instance de ClasseB. Quelqu'un aurait-il une idée ? Merci d'avance.

  2. #2
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Citation Envoyé par huskn Voir le message
    Je ne m'explique pas comment la méthode getConnection pourrait être appelée deux fois alors qu'il n'y a qu'une seule instance de ClasseB.
    Le nombre d'instance ne conditionne pas le nombre d'appel d'une méthode.

    Si tu as deux appel de cette méthode, c'est que tu l'appelle deux fois, explicitement ou implicitement. Si la structure et l'implémentation sont telles que tu l'a décrit, ça ne vient pas de là.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 563
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 563
    Points : 21 627
    Points
    21 627
    Par défaut
    L'explication se situe dans la partie du code que tu ne nous a pas montrée.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    Merci pour vos réponses. Effectivement, la réponse était ailleurs : une autre partie "oubliée" du code qui appelait la méthode getConnection(). J'avais un doute sur le bon fonctionnement de mon singleton mais apparemment tout marche bien de ce côté là. Problème résolu, donc. Encore merci .

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

Discussions similaires

  1. Mon code begaye!
    Par HNoury dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2012, 20h41
  2. Mon code n'est pas interprété !
    Par korriganez dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 15h46
  3. Optimiser mon code ASP/HTML
    Par ahage4x4 dans le forum ASP
    Réponses: 7
    Dernier message: 30/05/2005, 10h29
  4. Réponses: 1
    Dernier message: 21/02/2005, 12h40
  5. [langage] algo de bissection dans mon code
    Par killy dans le forum Langage
    Réponses: 5
    Dernier message: 19/01/2004, 18h35

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