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 :

[Stratégie][Factory] et les implementations perdues


Sujet :

Java

  1. #1
    Membre habitué Avatar de Kurdran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 122
    Points : 140
    Points
    140
    Par défaut [Stratégie][Factory] et les implementations perdues
    Bonjour,

    J'utilise JBuilder2005 et java 1.5

    J'ai créé un AccesFactory qui grace à un fichier "properties" connait les implentation de l'interface IAcces. Lorsque j'utilise ma factory en ligne de commande dans un programme simple tous marche comme il faut mais des que j'essaye mon code dans mon apllication web, il me sort une erreur : il ne trouve pas la classe qui sert d'implentation.

    Voici ma factory :
    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
     
        public static IAcces getAcces(String typeBase, String nomServeur,
                                      String nomBase, String utilisateur,
                                      String motDePasse) throws ICUException {
            int i, nombre;
            Properties props;
            Object acces;
            Class classe;
     
            props = new Properties();
            try {
                props.load(AccesFactory.class.getResourceAsStream(
                        "/properties/bd.properties"));
            } catch (IOException ex) {
            }
            nombre = Integer.valueOf(props.getProperty("bd.nombre")).intValue();
            for (i = 0; i < nombre; i++) {
                if (typeBase.equals(props.getProperty("bd." + i + ".nom"))) {
                    break;
                }
            }
            if (i < nombre) {
                try {
                    classe = Class.forName(props.getProperty("bd." + i +
                            ".implementation"));
                } catch (ClassNotFoundException ex) {
                    System.out.println("Classe non trouvé : " + ex.getMessage()); // <--- c'est ici qu'arrive l'erreur.
                    classe = null;
                }
                if (classe == null) {
                    acces = null;
                } else {
                    try {
                        acces = classe.newInstance();
                    } catch (IllegalAccessException ex) {
                        System.out.println("Acces Illégal : " + ex.getMessage());
                        acces = null;
                    } catch (InstantiationException ex) {
                        System.out.println("Erreur lors de l'instantiation : " +
                                           ex.getMessage());
                        acces = null;
                    }
                }
                if (acces != null) {
                    ((IAcces) acces).enregistrementParametre(nomServeur, nomBase,
                            utilisateur, motDePasse);
                }
                return (IAcces) acces;
            } else {
                throw new ICUException("0003");
            }
        }
    Aussi je voudrais savoir si queulqu'un peux m'aider.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 28
    Points : 31
    Points
    31
    Par défaut
    bonjour,


    En mode applet l'accès au classloader est restreint (donc à mon avis le forname ne va pas marcher).

    Le mieux est alors de signer ton jar.

    Cordialement

  3. #3
    Membre habitué Avatar de Kurdran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 122
    Points : 140
    Points
    140
    Par défaut
    C'est aussi ce que je pensais, mais cela ne se passe que du cote du serveur.

  4. #4
    Membre habitué Avatar de Kurdran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 122
    Points : 140
    Points
    140
    Par défaut
    Ca a l'air de fonctionner si je rajoute dans les import mes impl. [Edit]ne marche plus[/Edit]

    Mais ce n'est pas ce que je veux. Je veux pouvoir ne plus avoir à toucher ma factory à chaque fois que je rajoute une impl, juste le fichier properties.

    PS : si quelqu'un sais comment faire pour me passer de ce fichier properties et n'avoir qu'une factory et un package contenant les impl, merci de m'en faire part.

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

Discussions similaires

  1. Erreur automation "lien avec les clients perdu"
    Par Many31 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/03/2011, 12h01
  2. Réponses: 0
    Dernier message: 19/10/2010, 19h23
  3. test factory sur les tables oracle
    Par mohammed_amine_wardy dans le forum Oracle
    Réponses: 3
    Dernier message: 03/01/2008, 20h02
  4. Les Iles Perdues
    Par lud2k dans le forum Projets
    Réponses: 9
    Dernier message: 05/08/2006, 00h35
  5. Réponses: 2
    Dernier message: 17/09/2005, 17h43

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